Python for循环外部模板中的计数器增量
我需要在循环中做一个计数器增量。我查看了django for.counter,但不幸的是,我的增量并不完全出现在循环的每个迭代中。那么,有没有任何方法可以在django模板中实现变量的增量,而不用在代码中费力地实现一个新对象来实现这一点 在下面的代码中,我正在编写行Python for循环外部模板中的计数器增量,python,django,python-3.x,django-templates,Python,Django,Python 3.x,Django Templates,我需要在循环中做一个计数器增量。我查看了django for.counter,但不幸的是,我的增量并不完全出现在循环的每个迭代中。那么,有没有任何方法可以在django模板中实现变量的增量,而不用在代码中费力地实现一个新对象来实现这一点 在下面的代码中,我正在编写行{{{count=0}},{{count+=1}},仅用于说明。我知道这行不通。以下是我的模板的简化形式: <div class="jumbotron slotgroup slotavailable mb-1 mt-5" id=
{{{count=0}}
,{{count+=1}}
,仅用于说明。我知道这行不通。以下是我的模板的简化形式:
<div class="jumbotron slotgroup slotavailable mb-1 mt-5" id="jumbo_week_avail">
<div class="slot-header" role="alert">
Headertext
</div>
{% if weeklyslotsav %}
{% for day,daynum in weekzip %}
{{ count = 0 }}
{% if daynum in weeklyslotsav.day %}
{% for weekslotav in weeklyslotsav %}
{% if weekslotav.day == daynum %}
<div class="row row_week_avail{{ weekslotav.day }}" id="row_week_avail{{ weekslotav.day }}_{{ count }}">
</div>
{{ count += 1 }}
{% endif}
{% endfor %}
{% else %}
<div class="row row_week_avail{{ daynum }}" id="row_week_avail{{ daynum }}_0">
</div>
{% endif %}
{% endfor %}
{% else %}
{% for weekday, weeknum in weekzip %}
<div class="row row_week_avail{{ weeknum }}" id="row_week_avail{{ weeknum }}_0">
</div>
{% endfor %}
{% endif %}
</div>
我见过很多类似的问题。然而,在所有这些例子中,我都看到有人介绍.counter的
。但这不适合我的目的。您可以使用with
标记将模板中的变量设置为-
{% with count=0 %}
{{ count}}
...do other stuffs
{% endwith %}
至于数学,你可以用django比如
{{count}添加:“1”}
您可以使用这两种方法编写代码
有关在django模板中设置变量的详细信息,请参阅-
在django中使用数学-
希望这对您有所帮助。然后您需要“将逻辑移到视图级别”。请不要在模板中编写命令式代码。Django模板故意让人们难以避免编写这样的语句。您必须在视图中添加一些逻辑,例如,对于每个迭代,都会添加此类计数器的值。
。可能重复@WillemVanOnsem,那么遗憾的是,我必须在sql中添加额外的冗余行。不@Johan,因为for.counter无法解决我的问题problem@Droidzone:否,只需将数据添加到“对象”视图将传递到模板。就像您使用zip(…)
一样。
{% with count=0 %}
{{ count}}
...do other stuffs
{% endwith %}