Django Admin CSS manquant
J'ai été déconner avec le nouveau collectstatic
commande et ont eu à travailler pour mes pages normales. C'est-à-dire, je suis en mesure de charger mon css à cet endroit http://localhost:8000/static/css/main.css
. Cependant, le css pour mon django admin ne semble pas se manifester.
Lorsque je navigue à l'admin css emplacement à http://localhost:8000/static/admin/css/base.css
, j'obtiens une erreur 404 page non trouvée avec l'erreur suivante: /home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/css/base.css" does not exist
. La recherche dans django-tronc, je n'ai jamais eu le /home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/
dossier pour commencer.
Est bizarre?
En tout cas, dans mon statique dossier, il y a un dossier admin avec l'accompagnement css, img et js dossiers qui a été créé quand j'ai couru collectstatic et l'url de la base.css semble pointer vers cet emplacement.
Ce qui se passe sur mon serveur de développement de django. Voici quelques extraits de l'aide dans la chasse au bug:
url
33 # In order for Dev Server to serve media files for the frontend site.
34 urlpatterns += staticfiles_urlpatterns()
35
36 try:
37 if settings.DEBUG: # defined in manage.py when the first arg is "runserver"
38 urlpatterns += patterns('',
39 (r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
40 (r'^media-admin/(?P<path>.*)$', 'django.views.static.serve',{'document_root': os.path.join(settings.MEDIA_ROOT, '..', settings.ADMIN_MEDIA_PREFIX)}),
41 )
42 except NameError:
43 pass
Je pense qu'il pourrait être quelque chose à faire avec la ligne de 40 ans dans mon URL de fichier mais l'évolution des médias-admin statique/admin na pas aider.
paramètres
58 ADMIN_MEDIA_PREFIX = '/static/admin'
69 STATIC_ROOT = os.path.join(os.path.abspath(os.path.join(PROJECT_ROOT, '..', MEDIA_DIR, 'static')), '')
70
71 # URL prefix for static files.
72 # Example: "http://media.lawrence.com/static/"
73 STATIC_URL = '/static/'
74
75 # Additional locations of static files. Global files are stored in here
76 STATICFILES_DIRS = (
77 os.path.join(os.path.abspath(os.path.join(PROJECT_ROOT, '..', 'proj_public', 'static', 'proj')), ''),
78 )
79
- le bug s'est avéré être lié à quelque chose de complètement différent.. rien de mal avec le code comme il s'avère.
- Pouvez-vous s'il vous plaît poster quel était le problème s'il vous plaît. Je suis coincé exactement le même problème.
Vous devez vous connecter pour publier un commentaire.
Django vous recommande de déployer des fichiers statiques avec un serveur web autre que wsgi.
STATIC_ROOT = 'static'
Exécuter
python manage.py collectstatic
, qui copie le Django admin fichiers statiques pour/path/to/project/static/
Configurer votre fichier statique serveur. Si vous utilisez Nginx, vous pouvez ajouter cette config:
Recharger votre serveur web
Vous devriez maintenant avoir accès aux fichiers statiques.
Dans Django 1.4
ADMIN_MEDIA_PREFIX
est obsolète. Voici les étapes que j'ai suivi pour rattraper ces un peu récent Django changements:dans
settings.py
, ajouterdjango.contrib.staticfiles
àINSTALLED_APPS
dans
settings.py
définirSTATIC_URL
— le staticfiles application ne fonctionnera pas sans elle. Lors de l'utilisationrunserver
ils sont gérés comme par magie, mais lorsque vous déployez, ce doit être un endroit où ces ressources peuvent être récupérés par un navigateur.Je pense que c'est tout ce qu'il était à elle.
Je suis en utilisant Django 1.4.3
Ce qui n'a PAS de travail pour moi:
N'importe comment beaucoup j'ai édité ADMIN_MEDIA_PREFIX dans settings.py j'ai remarqué aucun changement dans le code HTML généré pour le Django Admin des pages. Il dit toujours que /media/admin/base.css quand j'ai vue la source.
Ce qui A fonctionné pour moi.
Copié le "admin" dossier de
/django/contrib/admin/static/
et collé dans mes projets "médias" dossierMaintenant il fonctionne très bien.
Alias /static/admin /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin
dans le fichier de configuration.ln -s /usr/local/lib/python2.7/django/contrib/admin/static/admin admin
est une autre optionIl semble stupide, mais j'ai eu exactement ce problème et la solution a été de mettre
DEBUG=False
àDEBUG=True
sur mon local environnement de dev. Lorsque le débogage est défini à False, il pense qu'il est dans un environnement de production qui s'appuie sur un emplacement pour les fichiers statiques, tels que/var/www/html/static
, alors que le debug à True utilise juste le répertoire local.Vous avez besoin d'un slash dans votre
ADMIN_MEDIA_PREFIX
réglage.Changement:
{{ ADMIN_MEDIA_PREFIX }}css/etc
) si il n'y a pas de slash pour moi.Je suis aide cuisinier à auto-construire mon django serveur sur AWS Ubuntu server. Ce post a aidé, mais ce que je me suis retrouvé à faire est d'ajouter le répertoire du package admin des pages statiques dans un local_setings.py:
https://github.com/jaycrossler/geoq-chef-repo/blob/master/cookbooks/geoq/templates/default/local_settings.py.erb#L16
Ce qui a entraîné local_settings.py avoir:
Noter, que si vous avez d'autres articles déjà dans votre STATICFILES_DIRS, vous pouvez en ajouter à la liste, plutôt que de l'écraser.
dans mon projet, la solution est dans
settings.py
, set:DEBUG = False # debug false mod not working css
Assurez-vous également que AppDirectoriesFinder n'est pas commentée, qui se passe lorsque vous essayez de personnaliser votre propre application de la structure. Malheureusement il est inutile de chercher de l'information dans les docs officielles.
Dans settings.py
N'utilisez pas de tuple de la
vous devez utiliser la liste,à l'instar de ce