2017-04-07 4 views
0

Meine Django-Website wird nicht laden Javascript-Dateien, aber es ist in Ordnung für die CSS-Teil sogar tho beide sind in der gleichen statischen Ordner.Django - Javascript lädt nicht auf HTML-Seite

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"), 
    ] 

und hier ist der Pfad zu statischen Ordner:

/home/nikola/Desktop/GIA/static 

ich die Google und Lösungen gesucht haben waren ziemlich generisch wie etwas mit der urls.py oder python manage.py collectstatic (nur für die Bereitstellung) und keine Hilfe. Ich habe keine Ahnung.

Was scheint das Problem zu sein?

+2

Warum Sie beide bootstrap.js und bootstrap.min.js geladen werden? Die min.js ist die verkleinerte Version, die Sie verwenden sollten. Auch für die CSS-Dateien. Laden Sie einfach die min.css-Versionen. Wenn Sie Ihre Seite auf Fehler überprüfen, meldet der Browser Fehler? –

+0

Das löst das Problem nicht wirklich, aber danke für den Tipp. –

+0

Ok, ich beantworte deine Frage jetzt :) –

Antwort

0

Die js-Dateien werden geladen. Ich denke, dass Sie die js-Plugins gerade nicht arbeiten sehen, weil Sie die jquery-Datei in Ihrem Block head nicht geladen haben. Afterall, bootstrap js plugins hängen von jquery ab, um zu arbeiten. In den meisten Verfahren sollten js-Dateien am Ende der HTML-Datei vor dem abschließenden Tag geladen werden, da sie eher groß sind und der Browser die kleineren Ressourcen zuerst vor den js-Dateien laden soll geladen werden. Daher sollten Sie Ihre Struktur in etwa so aussehen:

<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

Es löst das Problem nicht. Ich habe für jquerry getestet und es scheint geladen zu werden, noch funktioniert die andere js nicht, auch andere benutzerdefinierte js-Dateien, die ich versuchte, immer noch nicht zu funktionieren scheint. Übrigens, wenn ich den Server laufen lasse, bekomme ich "" /static/login/css/anim.css HTTP/1.1 "304 0" was die benutzerdefinierte js Datei ist. –

+0

anim.css ist die js-Datei? Sollte es nicht eine CSS-Datei sein? –