Les fichiers statiques ne sont pas charger lors de la sortie de débogage dans Django
Je suis de la création d'un projet Django. J'ai juste essayé de prendre le projet de débogage, DEBUG = False
et pour quelque raison que tous mes fichiers statiques ne s'affichent pas. Ils donnent un code d'erreur 500. Comment puis-je résoudre ce problème?
certains de settings.py:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
...
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
votre post settings.py
pouvez-vous être plus précis, dans quelle partie? c'est assez long.
êtes-vous de servir les fichiers statiques via le serveur de développement de django ou votre propre serveur. Si c'est le serveur de dev, lorsque, dans votre Url vous prenez soin de fichiers statiques? Vous pourriez trouver que une fois que vous désactiver le DÉBOGAGE, l'Url traitant de servir les fichiers statiques sont désactivés
Je ne suis pas vraiment sûr de savoir où je prends soin de staticfiles, je suis en utilisant le serveur de développement de Django. Je pense que ce qui se passe est ce que vous avez écrit, l'adresse URL de la ddealing avec staticfiles sont désactivés lors de tournage DEBUG off, aucune idée de ce que je dois faire?
Voici une réponse de la double question: stackoverflow.com/a/5836728/1224827
pouvez-vous être plus précis, dans quelle partie? c'est assez long.
êtes-vous de servir les fichiers statiques via le serveur de développement de django ou votre propre serveur. Si c'est le serveur de dev, lorsque, dans votre Url vous prenez soin de fichiers statiques? Vous pourriez trouver que une fois que vous désactiver le DÉBOGAGE, l'Url traitant de servir les fichiers statiques sont désactivés
Je ne suis pas vraiment sûr de savoir où je prends soin de staticfiles, je suis en utilisant le serveur de développement de Django. Je pense que ce qui se passe est ce que vous avez écrit, l'adresse URL de la ddealing avec staticfiles sont désactivés lors de tournage DEBUG off, aucune idée de ce que je dois faire?
Voici une réponse de la double question: stackoverflow.com/a/5836728/1224827
OriginalL'auteur Nayish | 2011-06-19
Vous devez vous connecter pour publier un commentaire.
Fichiers statiques de l'application n'est pas de servir statique médias automatiquement dans
DEBUG=False
mode. Dedjango.contrib.staticfiles.urls
:Vous pouvez le servir en ajoutant à votre
urlpatterns
manuellement ou utiliser un serveur de servir des fichiers statiques (comme il est censé lors de l'exécution de Django projets en mode DÉBOGAGE non).Bien une chose que je me demande c'est pourquoi vous obtenez une 500 code d'état de réponse au lieu de 404. Qu'est-ce que l'exception dans ce cas?
MODIFIER
Donc si vous voulez continuer à servir les fichiers statiques via le staticfiles app ajouter les éléments suivants à la racine de votre url de la conf (
urls.py
):Certaines choses que vous devez garder à l'esprit que:
STATIC_ROOT
(manage.py collectstatic
). Voir la staticfiles application docs pour plus d'informations. C'est tout simplement nécessaire puisque vous exécutez sur la non-mode de Débogage.from django.conf import settings
dans votreurls.py
🙂"Vous pouvez le servir en ajoutant à votre urlpatterns manuellement ou utiliser un serveur de servir des fichiers statiques (comme il est censé lors de l'exécution de Django projets en mode DÉBOGAGE non)." a été la réponse? Je suis l'ajout d'un exemple pour vous, si besoin, même si c'est la même chose que de servir les fichiers statiques avant de Django 1.3. Et oui, la dernière est une des questions. Donc, ce que l'exception est levée quand il s'agit de cette réponse 500? Juste intéressés.
édité, voir ci-dessus
Grande, qui a fait le tour, je viens d'ajouter ce bout de code de mon urls.py fichier et il fonctionne comme un charme... merci.
Il est toujours conseillé de servir les fichiers statiques via apache directement, plutôt que par le biais de Django. Au moins une fois que vous avez de la production de la circulation en cours d'exécution contre votre exemple il sera bénéfique pour le rendement.
OriginalL'auteur Torsten Engelbrecht
Dans Django 1.3, si vous êtes tout simplement de le tester à l'aide de la manage.py runserver, vous pouvez ajouter l'option "--l'insécurité", comme décrit dans la staticfiles docs:
Il semble toujours envoyer des courriels à l'administrateur en disant qu'il n'y a pas de modèle, mais il n'servir des fichiers statiques.
Je ne sais pas si le problème d'e-mail est sur le but ou l'un bug
merci. c'était tout ce que je nécessaire à la fin de ma question.
OriginalL'auteur duduklein