- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以基本上我想知道如何使用 for 循环在 django 模板中索引图像。这个想法是使用您的用户添加到模型中的前三张图像创建幻灯片放映
模型.py
class Product(models.Model):
Name=models.CharField(max_length=120,null=True,blank=True)
Category=models.CharField(max_length=80,null=True,blank=True)
Image=models.ImageField(null=True,upload_to='Image')
Description=models.TextField(null=True,blank=True)
Price=models.DecimalField(default=0.00,max_digits=10,decimal_places=2)
Delivery_date=models.DateTimeField(null=True,blank=True)
Delivered=models.BooleanField(default=False)
这是模板,但 obj.Image.url
标签不完整,因为我只想要前三个项目,而不是在循环中,但列出了
{% for obj in object_list %}
{% if obj.Image %}
<ul class="pgwSlider">
<li><img src="{{ obj.Image.url }}"></li>
<li>
<img src="">
<span>Shanghai, China</span>
</li>
</ul>
{% endif %}
{% endfor %}
最佳答案
如果您只需要 3 张图片(也许是最新的,对吧),您只需将自己的图片上下文从 View 传递到模板即可。
也许您正在使用 ListView
, 那么你必须使用 get_context_data
传递其他上下文数据。
这是 get_context_data
的简单用法.如果您想了解更多信息,可以查看django official documents for simple mixins (官方文档真的很有帮助!)
您的 View 示例
...
def get_context_data(self, **kwargs):
context = super(YourListView).get_context_data(**kwargs)
context['top_three_images'] = [
product.Image.url
for product in Product.objects.exclude(Image=None)[:3]
]
return context
You can use your own code instead of list comprehension.
然后你可以简单地使用top_three_images
在模板中。您的模板
{% for image_url in top_three_images %}
<img src="{{ image_url}}" alt="">
{% endfor %}
p.s. I recommend you to use your model field starting with lower_case (i.e.
name
,category
,image
...)
您只想在循环中显示前三张图片,对吗?
如果我没理解错的话,我认为foorloop.coutner
也许有帮助。
在html中,你可以使用{% if forloop.counter < 4 %}
(forloop 以 1
开头)
{% for obj in object_list %}
{% if forloop.counter < 4 %}
<ul class="pgwSlider">
<li><img src="{{ obj.Image.url }}"></li>
<li>
<img src="">
<span>Shanghai, China</span>
</li>
</ul>
{% endif %}
{% endfor %}
希望有帮助。
关于python - Django:如何从 Django 模板中的 object_list 索引图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48203051/
我是一名优秀的程序员,十分优秀!