簡體   English   中英

如何在django模板中迭代帶有列表的字典?

[英]How to iterate through a dictionary with lists in django template?

我有一個帶有列表的字典,我正在嘗試迭代它,而在我的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 %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM