如果不增加模板变量,这将是一种hacky方式,我怎么能记住"我的subskill变量所处的级别是正确的"增量" Django模板中的级别计数器?
我有一个如下所示的词典列表:[{'level': 0, 'skill': 'style a page using CSS'}, {'level': 0, 'skill': 'download JSFiddle'}, {'level': 1, 'skill': 'learn django'}, {'level': 2, 'skill: 'customize a template'}]
我希望像这样呈现:
但我无法找到在django模板中正确增加计数器变量的方法。
这就是我目前正在使用的内容:
{% with level=0 %}
<h1 align="center"> Level: {{level}} </h1>
{% for subskill in subskills %}
{%if subskill.level > level%}
<h1 align="center"> Level:{{level|add:1}} </h1>
{%endif%} ... {%endfor%} {%endwith%}
我现在所拥有的只会将级别增加到1,但不会存储此增量。所以它是0级,1级,1级,1级
答案 0 :(得分:0)
正如评论中所建议的那样,通过将我的列表结构更改为
subskills = {0:[{'skill': 'style a page using CSS'}, {'skill': 'download JSFiddle'}], 1: [{'skill': 'learn django'}], 2: [{'skill: 'customize a template'}]}
使用
传递给视图 return render(request, 'subskills.html', {'subskills': subskills})
然后在模板中使用:
进行渲染 {% for level, subskill_list in subskills.items%}
<h1 align="center"> Level: {{level}} </h1>
{% for subskill in subskill_list %}
render subskill here...
{% endfor %}
{% endfor %}
答案 1 :(得分:0)
谢谢彼得,它帮助了我!
您在回答中回答:
$./bin/mystrcpy
s1: Hello
The length of s1: 5
Doing strcat(s1, s2)
s1: Hello World
The length of s1: 11
Doing strcpy(s1, s2)
s1: World
The length of s1: 5
它将再次给出字典。 要在其中呈现键和值, 我们可以使用:
{% for level, subskill_list in subskills.items%}
<h1 align="center"> Level: {{level}} </h1>
{% for subskill in subskill_list %}
render subskill here...
{% endfor %}
{% endfor %}
这第一和第二部分将为您提取与词典中的项目相对应的键和值。