2017-09-26 75 views
1

錯誤,我得到:Django的模板:鍵,值在for循環不可能

需要2個值來解壓在for循環; 1.了

這是我的看法

class Index(View): 
    def get(self, request, slug): 
     test = { 
      1: { 
       'id': 1, 
       'slug': 'test-slug-1', 
       'name': 'Test Name 1' 
      }, 
      2: { 
       'id': 2, 
       'slug': 'test-slug-2', 
       'name': 'Test Name 2' 
      } 
     } 
     context = { 
      'test': test 
     } 
     return render(request, 'wiki/category/index.html', context) 

這裏是我的模板

{% block content %} 
    <div> 
     {{ test }} 
     <ul> 
      {% for key, value in test %} 
       <li> 
        <a href="#">{{ key }}: {{ value }}</a> 
       </li> 
      {% endfor %} 
     </ul> 
    </div> 
{% endblock %} 

我也試過喜歡的模板:

{% block content %} 
    <div> 
     {{ test }} 
     <ul> 
      {% for value in test %} 
       <li> 
        <a href="#">{{ value }}: {{ value.name }}</a> 
       </li> 
      {% endfor %} 
     </ul> 
    </div> 
{% endblock %} 

無錯誤然後,但{{ value }}顯示鍵(這很好),但{{ value.name }}什麼也沒有顯示。而{{ test }}顯示我的字典。

回答

2

循環遍歷字典的項目得到鍵和值:

{% for key, value in test.items %} 
-1

不熟悉Django的。但是,默認情況下,Python會遍歷字典的鍵。我也會假設你正在使用Python2。要獲得這些值,你需要做的:

{%在test.itervalues()值%}

如果你想同時,你需要做的:

{%爲關鍵,值在test.iteritems()%}

這將給你的關鍵和價值。