Django: servir ADMIN des fichiers multimédia

J'ai réussi à servir des fichiers multimédia pour les MÉDIAS normaux fichiers, mais quand j'ai essayé de servir admin des fichiers multimédia, j'ai échoué. merci de bien vouloir m'aider à localiser le problème, comme j'ai essayé de résoudre le problème pendant plusieurs heures déjà à pas de chance (été googler trop et lire le django doc de servir les fichiers statiques ainsi).

L'erreur que j'ai essayé d'accès localhost:8000/media/a.gif est comme suit:

Page non trouvé:
f:\python25\lib\site-packages\django/contrib/admin/media\a.gif

J'ai mis l'admin media les fichiers dans un répertoire nommé "médias", alors que j'ai mis les médias normaux les fichiers dans un répertoire nommé "statique". Je suis sur Windows, trop.

Voici comment je me servir de l'ordinaire fichiers multimédias dans urls.py:

# serve static files
from django.conf import settings
if settings.ENVIRONMENT==settings.ENV_DEVELOPMENT:
    urlpatterns += patterns("django.views",
        url(r"%s(?P<path>.*)$" % settings.MEDIA_URL[1:], "static.serve", {"document_root": settings.MEDIA_ROOT,})
    )

Et mon settings.py (uniquement les pièces importantes):

import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
    project_path.TEMPLATE.replace('\','/'),
)

Et mon project_path.py:

import sys
from os.path import dirname, join
ROOT = dirname(__file__)
APP = join(ROOT, "apps")
TEMPLATE = join(ROOT, "templates")
MEDIA = join(ROOT, "static")
ADMIN_MEDIA = join(ROOT, "media")

Un indice?

ou peut-être au moins s'il vous plaît partager comment vous servir de votre admin des fichiers multimédia (sans modifier les fichiers à partir du serveur web, mais uniquement via le django code source)

Merci d'avance 🙂

  • Avez-vous jamais résoudre ce problème? Je vais avoir une expérience similaire de travail sur Mac avec Django 1.1, portion normale de fichiers multimédia fonctionne, mais pas pour l'admin...
  • La raison pour laquelle les paramètres d'url ne fonctionne pas, c'est parce que django/core/management/commands/runserver.py avec django.core.servers.basehttp installation d'un WSGI gestionnaire pour ADMIN_MEDIA_PREFIX. Il traite la demande avant l'URLconf est frappé
InformationsquelleAutor Adrian Liem | 2009-07-04