@rusyska55011

Как не выводить изображение если его не существует?

Метод views.py:
def index(request):
    content = News.objects.all()

    for el in content:
        el.picture = '/' + str(el.picture).split('/')[-1]

    context = {
        'content' : content
    }

    return render(request, 'News.html', context)


База данных:
601d382cdb7e2996499944.png

То что выводится:
601d389f8a056505784604.png

HTML-код:
<body> 
		<h1> News </h1>
		{% for el in content %}

			<h1><a href = "/news/{{el.pk}}"> {{ el.title }} </a></h1>
				
			<img src = "{% static 'pictures' %}{{el.picture}}", width="100", height="100">
			
			<p> {{el.content}} </p>
			<p> {{el.published}} </p>
			<a href = "/news/rubric№{{el.rubric.pk}}"> {{el.rubric}} </a>

		{% endfor %}
	</body>


Пробовал делать так, но он тогда просто не выводит картинки:
{% if el.picture != "" %}	
	<img src = "{% static 'pictures' %}{{el.picture}}", width="100", height="100">
{% endif %}


Еще пробовал так:
{% if ".jpg" in el.picture %}	
	<img src = "{% static 'pictures' %}{{el.picture}}", width="100", height="100">
{% endif %}


Конструкции почему-то ничего не выдают, изображения вообще никакие не выводятся
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@bacon
Да кто так выводит изображение?
Выбрось, вот это
for el in content:
    el.picture = '/' + str(el.picture).split('/')[-1]

и сделай в шаблоне {{ el.picture.url }}, и достаточно просто {% if el.picture %}

ЗЫ и за /news/{{el.pk}} и другие href тоже ногами бить, а потом послать читать доки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы