Django模板呈现具有递增值的字典列表

2024-09-30 10:30:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在不增加模板变量的情况下,这将是一种老生常谈的方法,我如何“记住”我的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'}]

我想把它渲染成这样:

enter image description here

但我无法找到一种方法来正确地增加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%}

我现在所拥有的只能增加一级,但是这个增量不会被存储。所以是0级,1级,1级,1级


Tags: django方法模板计数器情况级别h1level
2条回答

正如评论中所建议的,通过改变我的列表结构

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 %}

谢谢彼得,它帮了我!在

正如你在回答中所说:

    {% for level, subskill_list in subskills.items%}
        <h1 align="center"> Level: {{level}} </h1>
        {% for subskill in subskill_list %}
            render subskill here...
        {% endfor %}
    {% endfor %}

它将再次提供字典。 把键和值呈现出来, 我们可以使用:

^{pr2}$

第一个和第二个将为您提供与字典中的项对应的提取的键和值。在

相关问题 更多 >

    热门问题