我想在模板中只显示for循环中的一个值。 假设我有这个:
{% for category in categories %}
{{category.name}}
<a href="{% url "my_url" category.id %}">See All</a>
{% endfor %}
如果我有5个类别,则在打印5次时看到全部。我怎么才能打印一次.. Thanx in adnvance ..
答案 0 :(得分:1)
您应该有一个主页面,其中包含您要发送的所有类别context['categories']
如果您不需要详细说明类别之间的链接,请发送views.py中的当前类别:
context['category']
修改强>
如果你想做的只是在循环中打破你不能在django模板中但你可以使用slice
:
{% for category in categories|slice:":1" %}
它将完成循环一次
答案 1 :(得分:0)
您必须限制对象并将该对象发送到模板
tempalte_var['content'] = Categories.objects.all()[:5]
答案 2 :(得分:0)
不是最好的方法,但请检查:
{% for category in categories %}
{% if categories|length > 1 %}
<a href="{% url "my_url" category.id %}">See All</a>
{% else %}
{{categories[1].name}}
<a href="{% url "my_url" category.id %}">{{category.name}}</a>
{% endif %}
{% endfor %}
答案 3 :(得分:0)
此代码将打印Category
中的第一个元素 {% for category in categories %}
{% if categories | first %}
{{category.name}}
<a href="{% url "my_url" category.id %}">See All</a>
{% endif %}
{% endfor %}