[英]Django - javascript doesn't load on html page
我的Django网站不会加载javascript文件,但是即使CSS和CSS都位于同一Static文件夹中,它对于CSS部分还是不错的。
base.html文件:
<head>
{% load static %}
<meta charset="UTF-8">
<link href="{% static 'login/css/bootstrap.css' %}" rel="stylesheet" type="text/css">
<link href="{% static 'login/css/bootstrap.min.css' %}" rel="stylesheet" type="text/css">
<link href="{% static 'login/css/bootstrap-theme.css' %}" rel="stylesheet" type="text/css">
<link href="{% static 'login/css/bootstrap-theme.min.css' %}" rel="stylesheet" type="text/css">
<script src="{% static 'login/js/bootstrap.js' %}"></script>
<script src="{% static 'login/js/bootstrap.min.js' %}"></script>
<title>LOGIN</title>
</head>
settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
这是静态文件夹的路径:
/home/nikola/Desktop/GIA/static
我已经搜索过Google,并且解决方案非常通用,例如带有urls.py或python manage.py collectstatic的东西 (仅用于部署),没有帮助。 我无能为力。
似乎是什么问题?
js文件正在加载。 我认为您只是没有看到js插件正常工作,因为您尚未将jquery文件加载到head
块中。 毕竟,bootstrap js插件依靠jquery起作用。
另外,在大多数实践中,js文件应在</body>
标记之前的HTML文件末尾加载,因为它们往往很大,并且您希望浏览器在js文件获得之前先加载较小的资源。加载。 因此,您的结构应类似于:
<html>
<head>
<!-- meta stuff here -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <!-- jquery should always load before any other scripts -->
<link href="css1.css" rel="stylesheet">
<link href="css2.css" rel="stylesheet">
...
...
</head>
<body>
...
...
<script type="text/javascript" src="{% static 'login/js/bootstrap.min.js' %}"></script>
</body>
</html>
将静态文件夹保存在每个应用程序中,在开发时,Django会在每个应用程序下搜索静态文件。 仅发布到生产ENV,使用python manage.py collectstatic的静态文件夹将在Web服务器配置中进行配置。 如果您使用的是nginx等,/ nginx / sites-enabled / config_file:
root /.project_home/django_root; location /static/ { alias /.project_home/django_root/static/; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.