Django Fichiers Statiques résultats en 404
Je les ai vérifié sur une assez quelques-uns des autres threads sur le fait d'être incapable de servir du contenu statique à l'aide de la statique fichier app au sein de Django mais encore n'ont pas encore trouver une solution.
settings.py
STATIC_ROOT = '/opt/django/webtools/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
"/home/html/static",
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
Modèle
ligne pertinente....
<img src="{{ STATIC_URL }}macmonster/img/macmonster-logo-blue.png" >
Journaux
À partir des journaux, on dirait le chemin d'accès est correct, mais hélas c'est toujours résultant en une erreur 404..
[10/Feb/2013 16:19:50] "GET /static/macmonster/img/macmonster-logo-blue.png HTTP/1.1" 404 1817
[10/Feb/2013 16:19:51] "GET /static/macmonster/img/macmonster-logo-blue.png HTTP/1.1" 404 1817
- est le staticfiles_dirs chemin le chemin d'accès absolu à vos fichiers?
- C'est juste un mannequin dossier que je ne veux pas importer le contenu statique comme encore. La racine statique, cependant, est le chemin d'accès complet du contenu statique.
- Le
STATIC_ROOT
paramètre est de la collecte des fichiers statiques de vos apps, laSTATIC_URL
est juste le préfixe, mais laSTATICFILES_DIRS
est où Django cherche les fichiers jusqu'à ce que vous avez lancé lecollect static
commande si je me souviens bien, de sorte que vous avez à faire en sorte pour le développement local que ce paramètre est un absolu et de dossier valide - Est-ce exact que la STATIC_ROOT commentaire dit .... Chemin absolu vers le répertoire des fichiers statiques doivent être collectées pour.
- Qu'est ce que j'ai dit, le problème auquel vous êtes confronté, c'est que vous êtes en train de consulter les fichiers comme si vous avez déjà "recueilli" les fichiers même si vous havent encore.
- Ok, mais je n'ai pas de vouloir recueillir tous les fichiers mais il suffit d'utiliser la STATIC_URL tag dans mon template. Tant que le STATIC_ROOT est correcte, il devrait être en mesure de servir le contenu.
Vous devez vous connecter pour publier un commentaire.
Local de servir des fichiers statiques, si vous n'avez pas mettre en place toute forme de collecte de staticfiles et si vous êtes en cours d'exécution Django 1.3+, je crois que c'est la façon dont votre
settings.py
devrait ressembler lorsque se référant à des fichiers statiquesAvis que j'ai laissé de côté l'
STATIC_ROOT
ici.C'est parce que je n'ai pas la nécessité pour les fichiers statiques de la collection "l'instant".
La collecte de fichiers statiques est de allieviate(orthographe), les problèmes de servir plusieurs diffrent staticfiles dossiers, de sorte qu'ils ont fusionné les
staticfiles
application qui a été utilisée normalement pour les aider avec ce problème.Ce qu'il fait, et il est décrit dans les docs, c'est de prendre tous les fichiers statiques de toutes vos applications et de les mettre dans un (1) dossier pour faciliter servir lors de la mise de votre application en production.
Si vous êtes le problème, c'est que vous avez "oublié" de cette étape et c'est pourquoi vous obtenez une erreur 404 lorsque vous essayez d'y accéder.
, Par conséquent, vous devez utiliser un chemin d'accès absolu à vos fichiers statiques ie. sur un mac ou un système unix, il devrait ressembler à quelque chose comme ceci:
Aussi, vous pouvez simplifier et de "fixer" la nécessité d'avoir une codé en dur chemin comme celui que j'ai utilisé à des fins d'illustration et de faire comme ce
Ce serait résoudre le problème de portabilité ainsi. Une bonne Stackoverflow post à ce sujet qui se trouve ici
J'espère que j'ai fait un peu plus claire, sinon, s'il vous plaît corrigez-moi si je me trompe ^_^!
Pour la collecte et la façon de gérer les fichiers statiques dans les nouvelles versions de Django lire ce lien
Le staticfiles app
Changement
ensemble
c'est incroyable mais, après 1 heure de chercher la solution de résoudre mon problème avec les fichiers statiques et supprimer
STATIC_ROOT
deSTATICFILES_DIRS
.STATICFILES_DIRS
est juste pour la collecte de tous les statiques dans les modules et de les stocker dansSTATIC_ROOT
.