【发布时间】:2021-10-01 01:00:26
【问题描述】:
照片 URL 存储在 Django 应用程序中,即 Listing,在 model.py 内部
class Listing(models.Model):
photo_1 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
photo_2 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
photo_3 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
photo_4 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
photo_5 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
photo_6 = models.ImageField(upload_to='photos/%Y/%m/%d/',blank=True)
views.py 的代码看起来像
def listing(request, listing_id):
listing = get_object_or_404(Listing, pk=listing_id)
context = {
'listing': listing
}
return render(request, 'listings/listing.html', context)
现在,在我的 listing.html 文件中,我可以检查照片 URL 是否可用,然后应用该设计来显示照片,如下所示
{% if listing.photo_1 %}
<div class="col-md-2">
<a href="{{ listing.photo_1.url }}" data-lightbox="home-images">
<img src="{{ listing.photo_1.url }}" alt="" class="img-fluid">
</a>
</div>
{% endif %}
我可以为所有六张照片都这样做,但我想动态地这样做像
{% for i in range (1,7) %}
{% if listing.photo_{{i}} %}
<div class="col-md-2">
<a href="{{ listing.photo_{{i}}.url }}" data-lightbox="home-images">
<img src="{{ listing.photo_{{i}}.url }}" alt="" class="img-fluid">
</a>
</div>
{% endif %}
{% endfor %}
有什么办法吗?任何建议将不胜感激。
【问题讨论】:
标签: python python-3.x django jinja2