我正在使用Django版本2.1.7,jinja2,并且尝试forloop.counter0
在Jinja模板中使用的字典内迭代列表。
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
您应该将数据压缩在视图中,并在模板中对其进行一次迭代。
zipped_data = zip(data.values(), datas)
return render(request, 'index.html', {'zipped_data': zipped_data})
...
{% for d1, d2 in zipped_data %}
{{ d1 }} {{ d2 }}
{% endfor %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句