170 похожих чатов

Есть модель ProductImage, хочу сделать чтоб при получении изображения

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='Основное изображение')

10 ответов

18 просмотров

Это в шаблоне надо выводить?

djigit0s- Автор вопроса

да

{% if obj.image %}{{ image.url }}{% else %}{% static 'url дефолтной картинки из ститики' %}{% endif %}

djigit0s- Автор вопроса

{% if obj.image %} вот это условие что проверяет? Есть ли файл на диске?

есть ли запись в бд, что есть файл на диске

djigit0s- Автор вопроса

может туплю, но что то не выводится {% 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 %} файлы которые есть на диске выводятся, а вместо удаленных заглушка не подставляется

djigit0s- Автор вопроса

@dantyan можете подсказать?

Если я тебя верно понял, то у меня есть аналог. Если у пользователя нет аватрки, ставится дефолтная

djigit0s- Автор вопроса

у меня чуть другой момент, изображение было указано, но файл физически удален с диска

Я подумал удален с помощью функционала сайта

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта