2016-03-29 1 views
8

Je suis en mesure de télécharger les fichiers dans le dossier des médias ('/peaceroot/www/media/') que j'ai mis en place dans settings.py comme ci-dessousPage non trouvée 404 fichiers multimédia Django

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

Mais par admin j'ai essayé d'accéder au fichier image téléchargée

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

je reçois une erreur 404.

Le fichier existe à peaceroot/www/media/items/1a39246c-4160-4cb2-a842-12a1ffd72b3b.jpg

Répondre

23

Ajouter un média entrée url dans votre projet urlpatterns:

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

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

La meilleure façon pour MEDIA_ROOT est,

essayer de faire dynamique chemin médiatique sera facile quand vous déplacez votre projet.

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) 

Regardez ce

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