簡體   English   中英

Django-JavaScript無法在HTML頁面上加載

[英]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.pypython 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>
  1. 確保settings.py中的DEBUG = True
  2. 將靜態文件夾保存在每個應用程序中,在開發時,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM