2017-05-29 13 views
0

Ich versuche externe js zu laden Einstellungen für statische Ordner-DateiExterne js funktionieren nicht in django

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 

Hier schließe ich js in template

{% load static %} 
<link rel="stylesheet" href="{% static '/css/main.css' %}"> 
<link type="text/javascript" href="{% static '/js/main.js' %}"> 

Und meine Projektstruktur

-project 
---app 
---static 
-----css 
-------main.css 
-----js 
-------main.js 

Ich weiß nicht warum, aber css funktioniert und js ist nicht geladen (ich sehe nicht main.js in der Stirn ser Entwicklerwerkzeug)

Antwort

0

Verwenden Sie das Script-Tag für js.

<script type="text/javascript" src="{% static '/js/main.js' %}"></script> 

Es besteht ein Unterschied zur Einstellung von STATIC_ROOT und STATICFILES_DIRS. STATIC_ROOT ist der Speicherort, an den statische Dateien kompiliert werden.

Sie sollten STATICFILES_DIRS zu

(
    os.path.join(BASE_DIR, 'static'), 
) 

und STATIC_ROOT an einen anderen Ort an dem Sie zusammengestellt Static, sagen wir, leben wollen STATIC_ROOT = os.path.join(BASE_DIR, 'dist')

Referenz: https://docs.djangoproject.com/en/1.11/howto/static-files/

+0

Es war Skript zunächst gleiche Ergebnis – InnokentyDM

+0

Ok, ich habe den Link zum Skript wieder ersetzt und jetzt funktioniert es. – InnokentyDM