Как я могу отображать изображения из моей Django DB?
В настоящее время, хотя это может быть и не лучшей практикой, у меня есть изображения, хранящиеся в моей базе данных django, и я хочу получить их для отображения на странице галереи. Однако я не могу заставить изображение отображаться вообще, что, как я думаю, происходит потому, что оно не приходит по правильному пути.
<img src ="{% static 'img/' object.image %}">
Этот код пытается найти правильный каталог для загруженного изображения, который является
\AFA\src\artForAll\static\img
Также object.image происходит из этой модели
class GalleryPost(models.Model):
title = models.CharField(max_length=120)
description = models.TextField(blank =True, null=True)
artist = models.CharField(max_length=120)
featured = models.BooleanField(default= False)
image = models.ImageField(null = True, blank = True, upload_to = "static/img/")
Все остальные поля здесь работают, и я вижу, что изображение загружается в правильное место.
Как @Willem Van Onsem сказал в комментарии, вы можете использовать <img src ="{{ object.image.url }}">
, но вам нужно проверить, существует ли изображение.
{% if object.image %}
<img src ="{{ object.image.url }}">
{% else %}
<img src ="<replace for default image url>">
{% endif %}