2017-09-26 1 views
1

Ich benutze Django für das Backend, im Frontend verwende ich vue.js, so 99% meiner CSS ist es von vue.js behandelt, aber ich brauche ein einfach base.css für einige Anpassung in der Landingpage und einige Dinge wie das.Django laden statisch in der Entwicklung direkt aus statischen Ordner (nicht aus apps)

Normalerweise in Django würde ich die Datei innerhalb app/static/app/base.css dann Collectstatic setzen und es unter static/app/ für die Produktion bekommen.

Ich möchte vermeiden, es unter einer App zu halten, da es nur eine Datei ist. Ich versuche, einen Ordner unter meinem Hauptordner "statisch" hinzuzufügen. Aber es scheint in der Entwicklung django es überhaupt nicht zu holen, es holt direkt und nur statische Dateien von apps.

Wie kann ich django sagen, es direkt aus dem static Hauptordner zu holen, wie es in der Produktion tun würde?

Ich möchte einen Ordner namens main in meinem Stamm hinzufügen (wo manage.py ist) und nur diesen verwenden, um meine statischen Dateien für die Produktion und Entwicklung zu speichern, ohne die einzelnen Anwendungen zu durchlaufen.

Antwort

1

Sie können Django anweisen, nach statischen Dateien in anderen Verzeichnissen zu suchen, indem Sie STATICFILES_DIRS Einstellungen verwenden.

einfach den folgenden Code in Ihr settings.py hinzufügen und es sollte funktionieren:

STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, "static"), 
] 
+0

Aber dann bekomme ich: 'django.core.exceptions.ImproperlyConfigured: Die STATICFILES_DIRS Einstellung sollte die STATIC_ROOT nicht enthalten setting' – Costantin

+0

@ Costantin 'STATIC_ROOT' und' STATICFILES_DIRS' sollten nicht gleich sein. Wenn Sie möchten, dass Django statische Dateien aus dem statischen Verzeichnis Ihres Projekts rendert, spezifizieren Sie es mit 'STATICFILES_DIRS' (wie in dieser Antwort). Die 'STATIC_ROOT' Einstellungen bedeuten, wo Sie Ihre statischen Dateien sammeln möchten. – xyres

+0

Jetzt ist alles funktioniert wie folgt: STATIC_URL = '/ static /' STATIC_ROOT = os.path.join (BASE_DIR,“.. " "Assets") STATICFILES_DIRS = [ os.path.join (BASE_DIR". . "," static "), ] Die Ordner-Assets sind jedoch nicht vorhanden. Ich nehme an, dass Django es schaffen wird, wenn ich die Statik für die Sammlung betreibe, aber wahrscheinlich brauche ich sie nie. Kann ich das ganze STATIC_ROOT vollständig entfernen? – Costantin

Verwandte Themen