Djangos MEDIA_URL und MEDIA_ROOT: Beheben von Bildzugriffsproblemen
In Django spielen die Einstellungen MEDIA_URL und MEDIA_ROOT eine entscheidende Rolle bei der Verwaltung hochgeladener Dateien und Bereitstellung an das Frontend. Ein häufiges Szenario besteht darin, ein Bild mit dem Django-Administrator hochzuladen und dann entweder über eine URL oder auf einer Frontend-Seite darauf zuzugreifen.
Es folgt das dargestellte Problem, bei dem Uploads korrekt gespeichert werden, der URL-Zugriff jedoch zu einem 404-Fehler führt , können wir URLconf-Muster verwenden, um dieses Problem zu beheben.
Lösung für Django 1.7 und höher
Gemäß der Django 2.1-Dokumentation wird das Hinzufügen des folgenden Snippets zu Ihrer URL-Konfiguration dazu führen kümmert sich während der Entwicklung um die Bereitstellung statischer Dateien, einschließlich hochgeladener Medien:
from django.conf.urls.static import static urlpatterns = patterns(...) + static(MEDIA_URL, document_root=MEDIA_ROOT)
Lösung für Django 1.6 und niedriger
Für ältere Versionen von Django ist die folgende URLconf kann so konfiguriert werden, dass statische Medien bereitgestellt werden:
from django.conf.urls.patterns import patterns, url from django.views.static import serve if settings.DEBUG: urlpatterns += patterns('', url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}))
Durch Hinzufügen dieser Konfiguration stellt Django statische Dateien bereit, wenn DEBUG = True (auf dem lokalen Computer) während der Entwicklung. Für die Produktion kann der Webserver jedoch so konfiguriert werden, dass er die statische Medienbereitstellung verarbeitet, wenn DEBUG = False.
Mit dieser Lösung können Sie mithilfe der Django-Einstellungen MEDIA_URL und MEDIA_ROOT Bilder erfolgreich auf einen lokalen Computer hochladen und darauf zugreifen.
Das obige ist der detaillierte Inhalt vonWie stelle ich hochgeladene Bilder mit Djangos MEDIA_URL und MEDIA_ROOT bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!