Tôi có đoạn code sau trong template của tôiDjango Template - tăng giá trị của một biến
{% set counter = 0 %}
{% for object in object_list %}
{% if object.attr1 == list1.attr1 and object.attr2 = list2.attr2 %}
<li><a href="{{ object.get_absolute_url }}"> Link {{counter++}} </a></li>
{% endif %}
{% endfor %}
tôi thiết lập các giá trị của một biến sử dụng custom tag này và những gì tôi muốn làm là để tăng giá trị chỉ khi vòng lặp if
được thỏa mãn. Tôi biết {{counter++}}
không hoạt động. Nhưng làm thế nào tôi có thể viết một thẻ tùy chỉnh mà sẽ làm nhiệm vụ tương tự?
1 đẹp câu trả lời, [để tham khảo] (https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#for) , tha thứ cho sự trừng phạt –
Tôi thường không cố gắng để vượt qua những hạn chế của Django nhưng lần này tôi thực sự cần thiết để làm điều đó .... Trong điều kiện của tôi '{{forloop.counter}}' không giúp đỡ. Tuy nhiên tôi đã đưa ra mã mẫu của tôi, bạn có thể cho biết nếu tôi có thể sử dụng '{{forloop.counter}}' – Sachin
+1 Sử dụng bộ đếm forloop là cách để đi đến đây. @Sachin: nếu bạn muốn sử dụng không dựa trên '{{forloop.counter0}}', mặc dù. –