我试图通过使用需要在多个循环之间保持其值的变量来计数。我的变量似乎在每个循环之间丢失(重置为0)。这是我正在使用的代码:
{% for state in csvrows|groupby('state') %}
<tr class="staterow"><td valign="baseline" class="state" colspan="6">{{ state.grouper }}</td><tr>
{% for city in state.list|groupby('city') %}
{% for row in city.list %}
<tr><td class="spacer"></td>
<td class="city">{% if loop.first %}{{ row.city }}{% endif %}</td>
<td class="app">{{ row.application_name }}</td>
<td class="risk">{{ row.risk }}</td>
<td class="title">{{ row.title }}</td>
<td class="remediation">{{ row.expected_remediation_date }}</td>
{% if row.risk|lower == "critical" %}
{% set crit = crit + 1 %}
{% endif %}
{% if row.risk|lower == "high" %}
{% set high = high + 1 %}
{% endif %}
{% if row.risk == "Medium" %}
{% set med = med + 1 %}
{% endif %}
{% if row.risk|lower == "low" %}
{% set low = low + 1 %}
{% endif %}
{% if row.risk|lower == "informational" %}
{% set info = info + 1 %}
{% endif %}
<td>C: {{ crit }} H:{{ high }} M:{{ med }} L:{{ low }} I:{{ info }}</td>
</tr>
{% endfor %}
{% endfor %}
{% endfor %}
每次state.list|groupby('city')
循环再次开始时,我都会失去crit, high, med, low and info
的值。
如何附加这些值并在state.list|groupby('city')
循环的迭代之间保持值?
答案 0 :(得分:0)
您可以在循环前crit
high
,med
,low
,info
和{% for city in state.list|groupby('city') %}
像
{% for state in csvrows|groupby('state') %}
<tr class="staterow"><td valign="baseline" class="state" colspan="6">{{ state.grouper }}</td><tr>
{% set crit = 0 %}
{% set high = 0 %}
{% set med = 0 %}
{% set low = 0 %}
{% set info = 0 %}
{% for city in state.list|groupby('city') %}
{% for row in city.list %}
<tr><td class="spacer"></td>
...
...
...
{% if row.risk|lower == "critical" %}
{% set crit = crit + 1 %}
{% endif %}
{% if row.risk|lower == "high" %}
{% set high = high + 1 %}
{% endif %}
{% if row.risk == "Medium" %}
{% set med = med + 1 %}
{% endif %}
{% if row.risk|lower == "low" %}
{% set low = low + 1 %}
{% endif %}
{% if row.risk|lower == "informational" %}
{% set info = info + 1 %}
{% endif %}
...
...
希望这可以帮到你。
我的示例代码在这里
@app.route('/')
def index():
render = """
{% set val = 0 %}
{% for i in [0, 1, 2, 3] %}
{% set val = val + 2 %}
<h3>{{ val }}</h3>
{% endfor %}
"""
return render_template_string(render)
以上将呈现
2
4
6
8