Django如何从索引中的模板中的queryset访问结果



我在模板中有一个queryset结果:

{% for image in product.productimages_set.all %}
<img src="{{ image.image_file.url }}"/>
{% endfor %}

我如何在模板中访问该对象的索引,即:

<img src="{{ product.productimages_set.all.0 }}"/>

可以使用forloop.counter 访问索引

{% for image in product.productimages_set.all %}
{% if forloop.counter == 0 %}
<img src="{{ image.image_file.url }}"/>
{% else %}
{% if forloop.counter == 1 %}
<img src="{{ image.image_file.url }}"/>
{% endif %}
{% endfor %}

Django支持在查询集上使用.first((和.last((:

# Query from the  view.py 
first_element = Product.objects.first()
last_element =  Product.objects.last()
products = list(Product.objects.all())
first_element = products[0]
last_element = products[-1]
# Query from HTML
{{ product.productimages_set.all.first.image_file.url }}
{{ product.productimages_set.all.last.image_file.url }}

最新更新