Я пытаюсь определить, загрузил ли пользователь изображение после отправки данных через форму.Как я могу определить внутри шаблона, было ли загружено изображение?
Скажем, у меня есть модель:
class Book(models.Model):
cover_image = models.ImageField(upload_to="foo/bar/fun")
Крышку изображение не требуется, поэтому этот объект может быть создан без значения cover_image
.
Теперь, в шаблоне, я хочу проверить, есть ли загруженный файл. Если нет загруженного файла, должен отображаться фрагмент HTML по умолчанию. Мой первоначальный подход, похоже, не работает, и я застрял. По какой-то причине область изображения отображается так, как будто изображение отображается, когда нет; вместо этого отображается текст alt. Что должно быть на самом деле отображается это другой кусок HTML, например, так:
{% if my_book_context_object.cover_image %}
<img src="the image"></img>
{% else %}
<img src="placeholder image"></img>
{% endif %}
я рассматривал, что я мог бы проверить внутри метода модели, но я не совсем уверен, что для проверки:
class Book(models.Model):
cover_image = models.ImageField(upload_to="foo/bar/fun")
def has_cover_image(self):
...unknown check logic...
return True or False
Вы можете проверить следующее: 'bool (self.cover_image)' –
@FatihErikli Это не сработало. –