Django medias (изображения) внезапно не загружаются
Я разрабатываю сайт на Django, в моем проекте было много картинок, загруженных из панели администратора и сохраненных в папке Media, которую я создал для этих загрузок отдельно, Она работала нормально и точно так, как я хотел в течение нескольких месяцев, внезапно они просто не загружаются, получая 404 для всех них, без каких-либо изменений в проекте, они просто не загружаются. Мой путь к медиа в Settings.py :
MEDIA_URL = 'media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
Я добавил это в конец моего urls.py приложения:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
и как я уже сказал, он работал нормально в течение долгого времени, внезапно это произошло
У меня была такая же проблема, и это мне помогло :
Добавьте это в ваш urls.py в список urlpatterns :
from django.views.static import serve
from django.conf import settings
from django.conf.urls import url
urlpatterns = [
url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
# YOUR URLS ARE HERE
]
Конечно, оставайтесь в Debug=True в settings.py.
Другой способ:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
# other URLs ...
]
# If DEBUG=True in the settings file
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Так что мы добавляем static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
к urlpatterns
, если DEBUG=True
в файле settings.py
. Это дает в некотором смысле лучшее управление.