2017-08-31 239 views
-1

我有一個views.py如下返回值:Django模板標籤

[{'host_id': 1, 'count': 8}, {'host_id': 3, 'count': 1}, {'host_id': 5, 'count': 3}] 

如何使用{用於%} ... {%ENDFOR%} ... {%其他%}標籤在HTML?

如果循環不匹配值,默認值爲0值設置

此代碼是我的猜想......

它似乎不工作,我該怎麼辦?

<tr> 
    <td> 
    {% for i in count_result %} 
     {% if i.host_id == request.session.user.hid %} 
      {{ i.count }} 
     {% endif %} 
    {% endfor %} 
    {% else %} 
     0 
    </td> 
</tr> 

謝謝!

+0

此處「{%else%}」的功能是什麼?喜歡你的代碼不給全部? – aircraft

+0

抱歉,{%else%}被設置爲默認值。這個代碼是我的猜測...它似乎不工作 – Yort

回答

1

從文檔:https://docs.djangoproject.com/ko/1.11/ref/templates/builtins/#for

循環數組中的每一項,使得在一個上下文變量可用的項。例如,爲了顯示在athlete_list提供運動員的列表:

<ul> 
{% for athlete in athlete_list %} 
    <li>{{ athlete.name }}</li> 
{% endfor %} 
</ul> 

可以循環遍歷反向列表通過使用{%爲在列表中的obj逆轉%}。

如果您需要遍歷列表的列表,可以將每個子列表中的值解壓縮爲單個變量。例如,如果你的上下文包含座標稱爲點(X,Y)的列表,你可以使用下面的輸出點列表:

{% for x, y in points %} 
    There is a point at {{ x }},{{ y }} 
{% endfor %} 

,如果你需要訪問的項目這也有用在字典中。例如,如果您的上下文包含字典數據,則以下內容將顯示字典的鍵和值:

{% for key, value in data.items %} 
    {{ key }}: {{ value }} 
{% endfor %}