Django MEDIA_URL и MEDIA_ROOT - PullRequest
       26

Django MEDIA_URL и MEDIA_ROOT

202 голосов
/ 01 апреля 2011

Я пытаюсь загрузить изображение через администратора Django, а затем просмотреть его на странице во внешнем интерфейсе или просто по URL-адресу.

Обратите внимание, что это все на моем локальном компьютере.

Мои настройки следующие:

MEDIA_ROOT = '/home/dan/mysite/media/'

MEDIA_URL = '/media/'

Я установил для параметра upload_to значение 'images', и файл был правильно загружен в каталог:

'/home/dan/mysite/media/images/myimage.png'

Однако, когда я пытаюсь получить доступ к изображению по следующему URL:

http://127.0.0.1:8000/media/images/myimage.png

Я получаю сообщение об ошибке 404.

Нужно ли мне настраивать определенные шаблоны URLconf для загружаемых носителей?

Любой совет приветствуется.

Спасибо.

Ответы [ 12 ]

1 голос
/ 29 марта 2017

Это если для Джанго 1.10:

 if settings.DEBUG:
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
0 голосов
/ 27 марта 2018

С вашими настройками все в порядке.Некоторые веб-серверы требуют указывать файлы мультимедиа и статических папок специально.Например, на pythonanywhere.com вы должны перейти в раздел «Интернет» и добавить URL-адрес папок мультимедиа и статической папки.Например:

  URL                     Directory                
/static/            /home/Saidmamad/discoverthepamirs/static     
/accounts/static/   /home/Saidmamad/discoverthepamirs/accounts/static    
/media/            /home/Saidmamad/discoverthepamirs/discoverthepamirs/media    

Я знаю, что уже поздно, но просто, чтобы помочь тем, кто посещает эту ссылку из-за той же проблемы;)

...