2016-03-29 9 views
8

Ich bin in der Lage laden Sie die Dateien auf Medien-Ordner ('/peaceroot/www/media/'), die ich eingerichtet habe in settings.py wie untenSeite nicht 404 Django Mediendateien

MEDIA_ROOT = '/peaceroot/www/media/' 
MEDIA_URL = '/media/' 

Aber durch Admin finde ich versuchte, die hochgeladene Bild-Datei zugreifen

http://localhost:8000/media/items/1a39246c-4160-4cb2-a842-12a1ffd72b3b.jpg

dann 404 Fehler ich erhalte.

Die Datei existiert bei peaceroot/www/media/items/1a39246c-4160-4cb2-a842-12a1ffd72b3b.jpg

Antwort

23

in Ihrem Projekt urlpatterns Medien URL-Eintrag hinzufügen:

from django.conf.urls.static import static 
from django.conf import settings 

... 
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
5

Der bessere Weg für MEDIA_ROOT ist,

try Medienpfad dynamisch machen einfach sein wird, wenn du verschiebst dein Projekt.

Settings.py

BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 


MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') 
MEDIA_URL = '/media/' 

urls.py

from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    # ... the rest of your URLconf goes here ... 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

Schauen Sie sich das

https://docs.djangoproject.com/en/dev/howto/static-files/