image, если удалено физически с диска, чтоб метод image.url возвращал ссылку на картинку заглушку, думал переписать метод url и проверять существует ли файл, если нет, то возвращать ссылку на заглушку, может есть другой, более легкий способ?
class ProductImage(models.Model):
"""Изображение модели"""
product = models.ForeignKey(
Product, related_name='product_image', on_delete=models.CASCADE, verbose_name='Модель')
image = models.ImageField(upload_to='img/models/',
verbose_name='Изображение модели', help_text='размер 450х620, формат PNG')
is_main = models.BooleanField(verbose_name='Основное изображение')
Это в шаблоне надо выводить?
да
{% if obj.image %}{{ image.url }}{% else %}{% static 'url дефолтной картинки из ститики' %}{% endif %}
{% if obj.image %} вот это условие что проверяет? Есть ли файл на диске?
есть ли запись в бд, что есть файл на диске
может туплю, но что то не выводится {% for img in item.product_image.all %} {% if img.image %} {% if img.is_main %} <img src="{{ img.image.url }}" class="card-img-top" alt="..."> {% endif%} {% else %} <img src="{% static 'catalog/img/not_aviable.png' %}" class="card-img-top" alt="..."> {% endif%} {% endfor %} файлы которые есть на диске выводятся, а вместо удаленных заглушка не подставляется
@dantyan можете подсказать?
Если я тебя верно понял, то у меня есть аналог. Если у пользователя нет аватрки, ставится дефолтная
у меня чуть другой момент, изображение было указано, но файл физически удален с диска
Я подумал удален с помощью функционала сайта
Обсуждают сегодня