Страница администратора Django не найдена при включении параметра MEDIA_ROOT
это мой первый вопрос, поэтому, пожалуйста, направьте меня в нужное русло, если я пропустил что-то важное ☺️
Итак, моя проблема заключается в следующем:
В настоящее время я создаю сайт на Django, который должен перечислять различные проекты из базы данных. Каждый проект имеет картинку, связанную с ним. Путь к этой картинке сохраняется в базе данных (каждая картинка добавляется как models.ImageField()
в модель проектов). Чтобы обслуживать их, я добавил MEDIA_ROOT = os.path.join(BASE_DIR, 'main/media')
к моему settings.py
и добавил следующий фрагмент к моему urlpatterns
в urls.py
: + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Теперь перейдем к сути дела: Все работает отлично, за исключением того, что я не могу открыть панель администратора. В обзоре проектов медиафайлы отображаются, как и ожидалось, но как только я пытаюсь открыть страницу /admin, я получаю следующее сообщение об ошибке:
Page not found (404)
“/Users/.../main/media/admin” does not exist
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/
Raised by: django.views.static.serve
как только я убираю + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
из шаблонов url, страница администратора снова работает нормально, однако медиа файлы больше не обслуживаются.
Может ли кто-нибудь показать мне, что я здесь нарушил? Большое спасибо!