我有一个带列表的字典,我试图在django模板中遍历它。
这就是我的字典的样子:
{u'Canada': [u'Saskatchewan', u'Nunavut', u'Nova Scotia / Nouvelle-\xc9cosse', u'Prince Edward Island / \xcele-du-Prince-\xc9douard', u'Northwest Territories / Territoires du Nord-Ouest', u'Ontario', u'Alberta', u'New Brunswick / Nouveau-Brunswick', u'Newfoundland and Labrador / Terre-Neuve-et-Labrador', u'British Columbia / Colombie-Britannique', u'Manitoba', u'Yukon', u'Quebec / Qu\xe9bec'], u'Sao Tome and Principe': [u'Principe', u'Sao Tome'],
问题是如何将这个字典传递给我的模板,而不需要django转义字符并迭代每个国家的所有值。
现在我把它放到上下文词典中:
ctx['regions'] = cntr_rgns
然后我尝试在模板中迭代它:
{% if regions %}
{% for cntr, rgn in regions.items %}
<option value={{ region }}>{{ rgn }}</option>
{% endfor %}
{% endif %}
但这样我就得到了整个数组而不是每个元素。
最佳答案
您应该在您的案例中使用嵌套循环:
{% for cntr, rgn in regions.items %}
{% for r in rgn %}
<option value="{{ r }}">{{ r }}</option>
{% endfor %}
{% endfor %}