我正在使用 Django 版本 2.1.7、jinja2,并且我尝试在 Jinja 模板中使用 forloop.counter0
迭代字典内的列表。
MyCode Views.py:
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})
Index.html(Jinja):
{% for dic in datadic %}
{{ dic }}
{{ datalist.forloop.counter0 }}
{% endfor %}
<!-- datalist.0 is only possible after research ,but is it constant
for every iteration -->
预期输出:
val1 value1
val2 value2
val3 value3
最佳答案
您应该在 View 中压缩数据并在模板中迭代一次。
zipped_data = zip(data.values(), datas)
return render(request, 'index.html', {'zipped_data': zipped_data})
...
{% for d1, d2 in zipped_data %}
{{ d1 }} {{ d2 }}
{% endfor %}
关于python - 在 Jinja(Django) 中使用字典索引显示列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512250/