Django: Bereitstellen von ADMIN-Mediendateien
Ich habe erfolgreich Mediendateien für die normalen MEDIA-Dateien bereitgestellt, aber als ich versuchte, Admin-Mediendateien bereitzustellen, schlug dies fehl. Bitte helfen Sie mir bei der Suche nach dem Problem, da ich bereits seit mehreren Stunden ohne Glück versucht habe, das Problem zu beheben (auch googeln und das Django-Dokument über das Bereitstellen statischer Dateien lesen).
Der Fehler beim Zugriff auf localhost: 8000 / media / a.gif lautet wie folgt:
Seite nicht gefunden: f: \ python25 \ lib \ site-packages \ django / contrib / admin / media \ a.gif
Ich habe die Admin-Mediendateien im Verzeichnis "media" abgelegt, während ich die normalen Mediendateien im Verzeichnis "static" abgelegt habe. Ich bin auch auf Windows.
So serviere ich die normalen Mediendateien in 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,})
)
Und meine settings.py (nur die wichtigen Teile):
import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
project_path.TEMPLATE.replace('\\','/'),
)
Und mein 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")
Irgendwelche Hinweise?
oder teilen Sie uns zumindest mit, wie Sie Ihre Admin-Mediendateien bereitstellen (ohne Dateien vom Webserver zu ändern, aber nur über den Django-Quellcode)
Danke im Voraus :)