在Jinja(Django)中使用字典索引显示列表元素

时间:2019-04-04 09:22:04

标签: python django dictionary jinja2

我使用的是Django 2.1.7版本,jinja2,并且我尝试在Jinja模板中使用information.js来迭代字典中的列表。

MyCode Views.py

forloop.counter0

Index.html(Jinja):

 def sample(request):
    datas= ['value1','value2','value3'] #list
    data={'key1':'val1','key2':'val2','key3':'val3'} #dictionary
    return render(request,'index.html',{'datalist':datas,'datadic':data})

预期输出:

{% for dic in datadic %} 
    {{ dic }}
    {{ datalist.forloop.counter0 }} 
{% endfor %}
<!-- datalist.0 is only possible after research ,but is it constant 
for every iteration -->

2 个答案:

答案 0 :(得分:2)

您应该将数据压缩到视图中,并在模板中对其进行一次迭代。

INDEX

...

#include <cstdlib>

template <typename T> struct TClass {

    template<std::size_t INDEX> void operator()() {}
};

template <typename FOR> void bar() {
    //...
} 

template <typename T> void foo() {  
   bar<TClass<T>>(); //Does compile
}

答案 1 :(得分:1)

根据您的代码“数据”已设置,并且不能迭代为 dict 。但是一般而言,迭代应该看起来像这样

{% for key, value_list in dictionary.items() %}
    {% for list_item in value_list %}
        {{ list_item }}
    {% endfor %}
{% endfor %}