URL-адрес Django Media возвращает 404 NOT FOUND
У меня есть проект django. Чтобы настроить свой медиа-ресурс, я следил за django doc Django doc - Управление статическими файлами:
Например, если ваш MEDIA_URL определяется как /media/, вы можете сделать это, добавив следующий фрагмент к URL urls.py:
из настроек импорта django.conf из django.conf.urls.static import static
urlpatterns = [#... остальная часть вашего URLconf идет здесь...] + static (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
my settings.py:
# ....
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_URL = 'http://127.0.0.1:8000'
# ...
MEDIA_URL_REL = '/media/'
MEDIA_URL = BASE_URL + MEDIA_URL_REL
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
my urls.py:
from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
urlpatterns = [
# ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Мои загруженные файлы находятся в медиа-корне, но когда я обращаюсь к URL- адресу ресурса [ http://127.0.0.1:8000/media/proof/img.pdf ], он возвращает HTTP 404 NOT FOUND.
Пожалуйста, не делайте URL с жесткой кодировкой. Это более чем плохая практика.
BASE_URL = 'http://127.0.0.1:8000'
Вы не можете так писать.
Ваше решение,
settings.py
MEDIA_URL = '/media/'
urls.py
urlpatterns = [....... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Надеюсь, это сработает.
Связанные вопросы
Похожие вопросы
Посмотрите другие вопросы по меткам python django media-url или Задайте вопрос