2009-12-29 2 views
0

La configuration ci-dessous fonctionne très bien sur mon hôte distant (même structure dir, même django), tous les médias admin sont servis correctementdjango, runserver_plus - fichiers multimédias admin servi de mauvais chemin

paramètres

MEDIA_ROOT = '%s/static/' % FS_ROOT 
STATIC_DOC_ROOT = '%s/static/' % FS_ROOT 
MEDIA_URL = '/static/' 
ADMIN_MEDIA_PREFIX = '%smedia/' % MEDIA_URL 

urls

(r'^admin/', include(admin.site.urls)), 
(r'^static/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': '%s/static' % FS_ROOT }), 
(r'^media/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': '%s/media' % FS_ROOT }), 

django 1.2.0 @ ubuntu 9.10, http://127.0.0.1:8084/ via runserver_plus

Les fichiers multimédias d'administration sont stockés sous/static/media/dans le répertoire racine de votre projet et tous les fichiers/répertoires statiques sous/static /. Toutes les statistiques sont bien servies, seuls les médias d'administration sont extraits des fichiers médias d'administration par défaut de django. Qu'est-ce que j'oublie et pourquoi cela affecte le projet seulement sur mon localhost? J'ai essayé de changer/static/media/path dans les urls de différentes façons, mais toujours rien.

Répondre

1

Il y a deux solutions:

  1. Vous pouvez soit définir un nom d'hôte dans ADMIN_MEDIA_PREFIX comme suggéré dans this answer. Vous pouvez également démarrer le serveur de développement avec le paramètre --adminmedia comme décrit dans le django documentation.
+0

cool, cela a fonctionné. y a-t-il un peu de contexte, je veux dire pourquoi je n'ai pas besoin de spécifier l'hôte sur mon ISP? – zalew

+0

Les docs disent: "Normalement, le serveur de développement sert ces fichiers à partir de l'arbre source de Django comme par magie". C'est probablement censé être pratique. –