django 1.10 медиа изображения не показывают
У меня были медиа-образы django, работающие в существующем проекте django 1.7, добавив следующее на сайт urls.py:
urlpatterns = patters(
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
)
Эта структура URL не работает в django 1.10, поэтому я изменил ее на рекомендованные здесь Django MEDIA_URL и MEDIA_ROOT:
urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Это не в состоянии сделать любые загруженные медиа-изображения. Есть ли эквивалентный медиа-шаблон для django 1.10, который я могу использовать?
1 ответ
Вы можете использовать это: ( Django docs 1.10 Обслуживание файлов, загруженных пользователем во время разработки)
urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
ИЛИ вы можете использовать это (если вы хотите, чтобы это только разрабатывалось с Debug = True в ваших настройках): Django docs 1.10 Обслуживание файлов в разработке
if settings.DEBUG:
urlpatterns += [
url(r'^media/(?P<path>.*)$', serve, {
'document_root': settings.MEDIA_ROOT,
}),
]
Для меня {{ MEDIA_URL }} больше не работал в моем файле шаблона, я использовал {% get_media_prefix%}:
Напр.:
<img src="{% get_media_prefix %}{{ product.image }}">