2017-04-07 33 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文件? –