2016-10-03 1 views
1

Problème: les fichiers javascript et css ne se chargent pas.
J'utilise le fichier Django 1.10, mon settings.py ressemble à ceci:fichiers statiques non détectés Django 1.10

STATIC_URL = "/static/" 

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

STATIC_ROOT = os.path.join(BASE_DIR, "static_root") 

je mes fichiers statiques dans le static folder et ont également une racine statique, toujours le js, css ne fonctionne pas
Pourquoi?

+0

Que voulez-vous dire par "ne fonctionne pas"? Quelle erreur obtenez vous? Que voyez-vous que vous ne vous attendez pas? Avez-vous lu sur collectstatic? – sureshvv

Répondre

4

Vous devez le spécifier dans le fichier urls.py ainsi

# need these two additional imports 
from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    ... 
] 

# add this extra line of code 
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

Avez-vous fait cela?

+1

Merci pour votre salut, son fonctionnement parfaitement maintenant. –

0

Si vous utilisez runserver en mode Débogage, vous n'avez pas besoin de modifier vos URL.

Vos paramètres semblent bien à condition que la structure de votre répertoire ressemble:

- myProject 
    - myProject 
    - settings.py 
    - static 
    - ... 

Avez-vous pensé à ajouter { load staticfiles } en haut de vos modèles?

Dans ce cas, {% url 'css/whatever.css' } devrait fonctionner.

+1

Merci pour le commentaire, mais le changement dans 'urls.py' est de résoudre le problème pour moi maintenant, merci quand même pour votre temps. –

+0

@hash Dans ce cas, vous n'avez probablement pas 'django.contrib.staticfiles' dans votre' INSTALLED_APPS'. C'est une mauvaise habitude de modifier vos URL de cette façon puisqu'en production, vous devriez les servir avec nginx/apache pointé vers votre dossier 'STATIC_ROOT'. –