2017-09-26 2 views
1

J'utilise django pour le backend, dans le frontend j'utilise vue.js, donc 99% de mon CSS il est géré par vue.js, mais j'ai besoin d'un base.css simple pour une personnalisation dans la page d'atterrissage et quelques choses comme ça.Django charge statique dans le développement directement à partir du dossier statique (pas des applications)

Normalement en django je mettrais le fichier à l'intérieur app/static/app/base.css alors fais collectstatic et l'obtiens sous static/app/ pour la production.

Je voudrais éviter de le garder sous une application car c'est juste un fichier. J'essaye d'ajouter un dossier sous mon dossier "statique" principal. Mais il semble que dans le django de développement en ne le récupérant pas du tout, il récupère directement et uniquement les fichiers statiques des applications.

Comment puis-je demander à django de le récupérer directement à partir du dossier principal static comme il le ferait en production?

Je souhaite ajouter un dossier appelé main dans ma racine (où manage.py est) et l'utiliser uniquement pour stocker mes fichiers statiques à la fois pour la production et le développement, sans passer par les applications uniques.

Répondre

1

Vous pouvez demander à Django de rechercher des fichiers statiques dans d'autres répertoires en utilisant les paramètres STATICFILES_DIRS.

Il suffit d'ajouter le code suivant dans votre settings.py et il devrait fonctionner:

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

Mais je reçois: 'django.core.exceptions.ImproperlyConfigured: Le réglage STATICFILES_DIRS ne doit pas contenir le STATIC_ROOT setting' – Costantin

+0

@Costantin 'STATIC_ROOT' et' STATICFILES_DIRS' ne devraient pas être identiques. Si vous voulez que Django rende les fichiers statiques du répertoire 'static' de votre projet, spécifiez-le en utilisant 'STATICFILES_DIRS' (comme dans cette réponse). Les paramètres 'STATIC_ROOT' signifient l'endroit où vous voulez collecter vos fichiers statiques. – xyres

+0

Maintenant, tout fonctionne comme ceci: STATIC_URL = '/ statique /' STATIC_ROOT = os.path.join (BASE_DIR, » .. " "actifs") STATICFILES_DIRS = [ os.path.join (BASE_DIR". . "," static "), ] Cependant, les ressources du dossier n'existent même pas. Je suppose que django va le créer si je cours des statistiques, mais je n'en ai probablement jamais besoin. Puis-je supprimer complètement l'intégralité de STATIC_ROOT? – Costantin