HTML For Loop для добавления изображения из базы данных Django
Я работаю над передачей логотипа в html-код, однако всякий раз, когда я передаю его в html, вместо него появляется маленький синий вопросительный знак. Я хотел бы узнать, как передать логотип в src. Спасибо за помощь.
class LoansOutstanding(models.Model):
company_name = models.CharField("Company Name", max_length=50, default="")
company_logo_url = models.ImageField("Company Logo", upload_to="main/None", height_field=None, width_field=None, max_length=100, blank=True, null=True)
Views.py
def number(request, number):
loans_in_security = LoansOutstanding.objects.filter(number=number)
return render(request,
template_name='main/number.html',
context={"loans_in_securities": loans_in_security})
HTML
<div class="profile-details">
<div class="profile-image-pane">
<ul>
{% for loans in loans_in_securities %}
{% if forloop.first %}
<li><img class="profile-image" src="{{loans.company_logo_url}}"/></li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
Урл вашего изображения в html-теге должен указывать на <field_name>.url
. Таким образом, в вашем случае:
src="{{loans.company_logo_url.url}}"
Точнее, нужно условие if, чтобы проверить, существует ли изображение или нет, например, так:
{% for loans in loans_in_securities %}
{% if loans.company_logo_url %}
<li>
<img class="profile-image" src="{{loans.company_logo_url.url}}"/>
</li>
{% endif %}
{% endfor %}