在django中将js连接到html不起作用

Posted

技术标签:

【中文标题】在django中将js连接到html不起作用【英文标题】:Connecting js to html in django not working 【发布时间】:2020-07-21 18:53:55 【问题描述】:

我正在尝试将 js 连接到 django 中的 html

当我在 html 文件中包含脚本时,它会执行命令,但是我创建了单独的 js 文件并链接到 django,因此它不起作用,而我链接 css 文件并且它工作正常,

我正在学习和使用教程,其中一些是旧的,我不知道我是否使用旧样式,这就是为什么将 js 链接到 django 不起作用。如果您能帮助了解我做错了什么,我会很高兴:

index.html

<!DOCTYPE html>
% load static %

<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">

    <link rel="stylesheet" href="% static 'school/css/main.css' %">

  </head>
  <body>

    <div>% block content %% endblock  % </div>

    <script type="text/javascript" scr="% static 'school/js/main.js' %"> </script>

  </body>

</html>

settings 我有:

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

main.js 文件:

alert ("Hello");

我的 django 版本是我的django version is 2.2.6

【问题讨论】:

能否提供静态文件的完整路径? 完整路径是什么意思?我是 django 的新手,您的意思是 STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')] 或静态文件的文件夹位置:static/school/js/main.js? 这个:static/school/js/main.jsstatic 文件夹在哪里?在您的school 应用程序中?还是在您的项目文件夹中? 是的,它位于学校项目的静态文件夹中。 学校项目的主要网址在哪里,然后在它下面我创建了静态文件夹,并在该文件夹下创建了文件夹 school/js/main.js 【参考方案1】:

根据您使用的 Django 版本,% load staticfiles % 不再存在。我认为这已被 Django 2 删除。

我刚刚发现了这个: % load static % and % load staticfiles %: which is preferred?

【讨论】:

那我应该用什么?因为 % load staticfiles % 适用于我的 css。 我刚刚发现这个:***.com/questions/34422971/… 我的django版本是2.2.6 我改成 % load static % 还是不行

以上是关于在django中将js连接到html不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将AVAudioSourceNode连接到AVAudioSinkNode不起作用

为啥在 Django 管理员的 save() 覆盖中将站点添加到对象似乎不起作用?

从表单中获取数据到 Django 中不起作用

无法在 Swift 2 中将 TableView @IBOutlet 连接到 ViewController

带有cordova的Websockets在ipad上不起作用

命令行连接到无线网络在 ubuntu 10.04 上不起作用