2017-04-07 115 views
0

我的Django网站不会加载JavaScript文件,但它对于CSS部分甚至都是在相同的静态文件夹中都可以。Django-javascript无法在html页面上加载

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 

我已经搜查了谷歌和解决方案是非常通用的,像urls.pypython manage.py collectstatic(仅用于部署),没有帮助。我毫无头绪。

什么似乎是问题?

+2

你为什么要加载bootstrap.js和bootstrap.min.js? min.js是缩小版,这是你应该使用的。对于css文件也是如此。只需加载min.css版本。另外,如果您检查页面是否有错误,浏览器是否会标记错误? –

+0

这并没有真正解决问题,但谢谢你的提示。 –

+0

好吧,我现在要回答你的问题:) –

回答

0

正在加载js文件。我想你只是没有看到js插件的工作,因为你没有在你的head块中加载jquery文件。毕竟,引导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> 
+0

它不能解决问题。我测试了jquerry,它似乎已加载,但其他js不工作,甚至其他我试图加载的自定义js文件仍然没有工作。顺便说一句,当我运行服务器时,我得到“”GET /static/login/css/anim.css HTTP/1.1“304 0”这是自定义js文件。 –

+0

anim.css是js文件吗?它不应该是一个CSS文件? –