【问题标题】:Django template jinja for loopDjango 模板 jinja for 循环
【发布时间】:2020-06-24 15:34:41
【问题描述】:

有人可以建议我如何在 django 模板中迭代字典吗?

dic1={5: ['jaw replacement - 23-Jun-2020 (16:20:09.164240)', 'jaw replacement done - 23-Jun-2020 (16:20:51.158085)', 'jaw replacement done,almost done - 23-Jun-2020 (16:25:40.066955)', 'jaw replacement done,almost done 1 - 23-Jun-2020 (16:27:00.355605)', 'jaw replacement done,almost done 2 - 23-Jun-2020 (16:31:35.111660)']}

this is the context i am passing
i need something like this in template
for i in dic1:
    print(i)
    list1=dic1[i]
    for k in list1:
        print(k)

{% for i in notes %}
          {% with list1=dic1[i] %}
            {{list1}}
          {% endwith %}

      {% endfor %}

这不起作用。

【问题讨论】:

    标签: django templates jinja2


    【解决方案1】:

    假设您的数据是 -

    dic1 = {'a': [ [1, 2] ], 'b': [ [3, 4] ],'c':[ [5,6]] }
    

    您可以使用data.items() 方法来获取字典元素。请注意,在 django 模板中,我们不会输入 ()。还有一些用户提到 values[0] 不起作用,如果是这种情况,请尝试values.items。

    <table>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
        </tr>
    
        {% for key, values in dic1.items %}
        <tr>
            <td>{{key}}</td>
            {% for v in values[0] %}
            <td>{{v}}</td>
            {% endfor %}
        </tr>
        {% endfor %}
    </table>
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      在普通 Python 中,您通常会通过使用字典上的 items() 方法来访问键和值。

      例如给定字典

      some_dic = {'1': 'Hello', '2': 'World'}
      

      您应该能够通过执行以下操作来访问它:

      for key, value in some_dic.items():
          print(key, value)
      

      您可以在 Django 模板中遵循同样的原则,只需省略 '()',如下所示:

      
      {% for key, value in some_dic.items %}
          <h1>Key: {{ key }}</h1>
          <h1>Value: {{ value }}</h1>
      {% endfor %}
      

      【讨论】:

        【解决方案3】:

        您可以将 dic1 从视图中直接传递给模板并遍历模板中的字典 \

        在视图中

        return render(request, 'template.html',{'dic1':dic1}) 
        
        #intemplate.html
        
        {% for key, value in dic1 %}
            <tr>
                <td> Key: {{ key }} </td>
              {% for value_in_array in value %}
                 <td> Value: {{ value }} </td>
              {% endfor %}
            </tr>
        {% endfor %}
        

        【讨论】:

          猜你喜欢
          • 2018-05-21
          • 1970-01-01
          • 2012-07-25
          • 1970-01-01
          • 1970-01-01
          • 2021-10-17
          • 2020-10-14
          • 1970-01-01
          相关资源
          最近更新 更多