如何在django for循环中访问groupList.i?

时间:2011-04-28 17:32:12

标签: html django for-loop

我在模板中的django中创建了一个for循环。我有一个声明为groupList = ['superUsers', 'group1', 'group2', 'groupless']的名称列表。我可以通过说{{ groupList.2 }}(这输出group2)来呼叫该组的个别成员。但是一旦我尝试在for循环中调用{{ groupList.i }},就没有输出。我的代码如下所示:

{% for i in length|get_range %}
    {{ groupList.i }} <br /> <br />
    {% for staff in staffList.i %}
        {{staff}} <br /> <br />
    {% endfor  %}
{% endfor %}

长度定义为:length = len(groupList)

我希望能够显示第一个组列表名称后跟一个名称列表,然后是第二个groupList名称,然后是相应的名称列表。我做错了什么?

2 个答案:

答案 0 :(得分:0)

尝试将另一个模板变量定义为:

foo = zip(groupList, staffList)

并使用它:

{% for group, staff in foo %}
    {{ group }}
    {{ staff }}
{% endfor %}

似乎是做你想做的最优雅的方式(imho。)

答案 1 :(得分:0)

尝试与this solution

类似的内容

以下是我如何根据您的需求进行更改:

{% for i in length|get_range %}
    {% with i as index %}
    {% with i|slugify|add:":"|add:i as subset %}
    {% with staffList|slice:subset as sublist %}

    <p>Previous item: {{ sublist.0 }}</p>

    {% endwith %}
    {% endwith %}
    {% endwith %}
{% endfor %}

所以这绝对不是一个优雅的解决方案,但是当我想使用计算值时,这就是我执行set / list .查找的方式。

实际上,aviraldg的解决方案更加优雅,并且使用更好的方法来实现您想要完成的任务。