Итак, я изначально заставил пользователя создать пост в admin и иметь возможность оставить поле изображения пустым, а Django установит изображение по умолчанию.
Моя проблема в том, что Если пользователь загружает изображение, а затем удаляет его в админке, я получаю сообщение об ошибке: The 'image' attribute has no file associated with it.
при доступе к соло. html в браузере.
Как сделать так, чтобы изображение по умолчанию снова появлялось и, в частности, получалось из Stati c папка?
Мой код:
settings.py
STATIC_URL = '/static/'
STATIC_DIRS = os.path.join(BASE_DIR, 'static')
models.py
# FIXME: If default image is changed to user's upload but then deleted. Make default image reappear.
# Recipe Field
class Recipe(models.Model):
title = models.CharField(max_length=200)
image = models.ImageField(upload_to='recipes/images/', blank=True)
def get_image(self):
if not self.image:
return f'{settings.STATIC_URL}default.png'
return self.image.url
соло. html
<h2>{{ recipe.title }}</h2>
<h3>{{ recipe.category }}</h3>
<h3>{{ recipe.meal }}</h3>
<img src="{{ recipe.image.url }}">
Я только начинаю с Django, поэтому заранее прошу прощения, если все в порядке. Заранее спасибо!