【问题标题】:How do I use a for loop in a django template?如何在 django 模板中使用 for 循环?
【发布时间】:2012-10-09 05:39:17
【问题描述】:

在我的 django 视图中,我有一个类似于上面的列表(除了嵌入在大列表中的 50 个列表。 在我的模板中,如何使用 for 循环来引用以显示每个列表中的每个元素?

我也在尝试访问列表中的特定元素,例如以下示例中的元素“c”。我在模板中尝试了 feed[0][1],但收到了错误。

feed = [ [0,a,b,c], [1,d,e,f], ... ] 

{% for video in feed %}
#not sure what to put here
{% endfor %}

【问题讨论】:

    标签: django templates view for-loop


    【解决方案1】:

    类似这样的:

    {% for video in feed %}
        {%for item in video %}
             {{item}} {% comment %} render it appropriately {% endcomment %}
        {%endfor%}
    {% endfor %}
    

    video 又是一个列表,因此您可以再次对其进行迭代以获取 item 并使用它来呈现适当的 html。

    编辑:参考#jdi 的评论和更新的问题,如果你想访问列表的特定元素,你可以这样做:

    {% video in feed %}
        {{ video.3 }}    {% comment %} To access 3rd element {% endcomment %}
        {{ video|last }} {% comment %} To access last element {% endcomment %}
    {%endfor%}
    

    【讨论】:

    • 谢谢!你知道我如何选择列表中的特定元素吗?例如,我将如何在上面的列表中选择字符“c”?我试过做 item[3] 但没有用。
    • 我会投票赞成这个答案,但我认为 {comment} 可能会因为错误的代码而感到困惑,因为那不是有效的 HTML 评论。您应该删除它或使用 <!-- comment --> 或 django 评论标签 {% comment %} comment {% endcomment %} 进行评论
    • @sharataka:不用执行第二个 for 循环,您只需按索引访问它:{{ video.3 }}{{ video|last }}
    • @jdi, {# ... #} 是单行注释的 django 模板语法。我同意它在 SO 代码语法中看起来不太好。
    • @Rohan:该死的,我看过那个变化。我道歉。您可以还原我的更改。我仍然投票给你
    【解决方案2】:

    我用

     {%for D in TablePivot %}
         <tr class="{% cycle row1,row2 %}">
            {%for valor in D %}
            <td>{{valor}}</td>
            {%endfor%}
        </tr>
     {%endfor%}
    

    【讨论】:

      猜你喜欢
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2012-07-25
      • 2021-10-17
      • 2012-11-24
      • 2011-05-20
      相关资源
      最近更新 更多