Django = отображение изображения на html из представлений с помощью цикла for
я пытаюсь отобразить изображение из базы данных с помощью представлений и в inspact broswer я вижу, что он находит мое изображение, но все равно возвращает мне 404 ошибку. мой models.py:
class HomePhoto(models.Model):
title = models.CharField(max_length=100)
img = models.ImageField(upload_to='home_page_images/')
view.py:
def index(request):
data = HomePhoto.objects.all()
return render(request, 'home.html',{'data':data,})
html:
{% for d in data %}
<img src="{{d.img}}" alt="Third slide">
{% endfor %}
url.py:
urlpatterns = [
path('',views.index,name='index')
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
html в броузере inspact:
<img src="home_page_images/orangeshirt_1ZrO8ay.jpg" alt="Third slide"> <!--THIS IS THE RIGHT PATH AND THE RIGHT NAME OF THE IMAGE-->
{% for d in data %}
<img src="{{d.img.url}}" alt="Third slide">
{% endfor %}
вам нужно добавить url: d.img.url
Вы забываете о доступе к члену url:
{% for d in data %}
<img src="{{d.img.url}}" alt="Third slide">
{% endfor %}
<!--try This -->
{% load static %}
<img src="{% static 'my_app/example.jpg' %}" alt="My image">