Django не может найти изображение
Когда я запускаю свое приложение Django с помощью Daphne
daphne -e ssl:8000:privateKey=ssl/privkey.pem:certKey=ssl/cert.pem website.asgi:application`
Я получаю
WARNING Not Found: /media/images/lcg.jpg
я устанавливаю все сеттинги по справочникам и документации
settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('shop.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
index.html
{% for product in column1 %}
<div class="item">
{% if product.img %}
<img src="{{ MEDIA_URL }}{{ product.img }}" alt="{{ product.name }}" class="product-img">
{% endif %}
попробовал добавить {% get_media_prefix as MEDIA_URL %}
, но ничего не изменилось
где product.img из DB - images\filename.png и у меня такая структура
У меня была похожая проблема со статическими файлами, но ChatGPT посоветовал использовать whitenoise, и это решило проблему но не с img
Отредактируйте ваш asgi.py
и добавьте следующий импорт:
from django.contrib.staticfiles.handlers import ASGIStaticFilesHandler
тогда измените следующую строку:
application = get_asgi_application()
до
application = ASGIStaticFilesHandler(get_asgi_application())
Кроме того, всегда используйте {{ product.img.url }}
вместо {{ MEDIA_URL }}{{ product.img }}
.