python - Django template -- render a list of dictionaries with incrementing values -
without incrementing template variable, hacky way it, how can "remember" level subskill variable @ , correctly "increment" level counter in django template?
i have list of dictionaries looks this: [{'level': 0, 'skill': 'style page using css'}, {'level': 0, 'skill': 'download jsfiddle'}, {'level': 1, 'skill': 'learn django'}, {'level': 2, 'skill: 'customize template'}]
and want render this:
but can't figure out way increment counter variable in django template.
this i'm using:
{% level=0 %} <h1 align="center"> level: {{level}} </h1> {% subskill in subskills %} {%if subskill.level > level%} <h1 align="center"> level:{{level|add:1}} </h1> {%endif%} ... {%endfor%} {%endwith%}
what have right ever increment level one, increment isn't stored. goes level 0, level 1, level 1, level 1
as suggested in comments, changing structure of list like
subskills = {0:[{'skill': 'style page using css'}, {'skill': 'download jsfiddle'}], 1: [{'skill': 'learn django'}], 2: [{'skill: 'customize template'}]}
pass view with
return render(request, 'subskills.html', {'subskills': subskills})
and render in template with:
{% level, subskill_list in subskills.items%} <h1 align="center"> level: {{level}} </h1> {% subskill in subskill_list %} render subskill here... {% endfor %} {% endfor %}
Comments
Post a Comment