He estado publicando con éxito archivos multimedia para los archivos MEDIA normales, pero cuando intenté publicar archivos multimedia admin, falle. por favor amablemente ayúdenme a localizar el problema, ya que he tratado de solucionar el problema por varias horas sin suerte (he estado buscando en Google y también he leído el documento de django sobre cómo servir archivos estáticos).Django: sirviendo archivos multimedia ADMIN
El error mientras intentaba acceder a localhost: 8000/media/a.gif es la siguiente:
Page not found: f:\python25\lib\site-packages\django/contrib/admin/media\a.gif
puse los archivos de administración de medios de comunicación en el directorio llamado "media", mientras pongo los medios normales archivos en el directorio llamado "static". Estoy en Windows, también.
Así es como me sirven los archivos ordinarios en los medios de comunicación 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,})
)
Y mi settings.py (sólo las piezas importantes):
import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
project_path.TEMPLATE.replace('\\','/'),
)
Y mi 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")
¿Alguna sugerencia?
o tal vez al menos por favor, comparta ¿cómo servir a sus archivos multimedia de administración (sin cambiar cualquier archivo desde el servidor web, pero sólo a través del código fuente de Django)
Gracias de antemano :)
¿Alguna vez resolvió esto? Estoy teniendo una experiencia similar trabajando en Mac con Django 1.1, sirviendo archivos de medios normales pero no para el administrador ... – Danielb
El motivo por el que la configuración de la URL no funciona es porque 'django/core/management/commands/runserver. py' junto con 'django.core.servers.basehttp' configura un controlador WSGI para' ADMIN_MEDIA_PREFIX'. Maneja la solicitud antes de que el URLconf se golpee – vdboor