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">

Вернуться на верх