我正在爲我的第一個Django網站編寫模板。Django模板問題(訪問列表)
我將一個字典列表傳遞給變量中的模板。我還需要傳遞其他一些列表,它們包含布爾標誌。 (注:所有的列表具有相同的長度)
模板看起來是這樣的:
<html>
<head><title>First page</title></head><body>
{% for item in data_tables %}
<table>
<tbody>
<tr><td colspan="15">
{% if level_one_flags[forloop.counter-1] %}
<tr><td>Premier League
{% endif %}
<tr><td>Junior league
<tr><td>Member count
{% if level_two_flags[forloop.counter-1] %}
<tr><td>Ashtano League
{% endif %}
</tbody>
</table>
{% endfor %}
</body>
</html>
我收到以下錯誤:
Template error
In template /mytemplate.html, error at line 7 Could not parse the remainder: '[forloop.counter-1]' from 'level_one_flags[forloop.counter-1]'
我不驚訝我得到這個錯誤,因爲我只是想看看是否會工作。到目前爲止,從文檔中,我還沒有發現如何通過索引(即通過枚舉以外)獲取列表中的項目。
有誰知道我可以通過模板中的索引訪問列表?
嗯,Django開發人員似乎覺得這很愚蠢,因爲循環迭代和序列索引有不同的基礎。我敢肯定,我的做法是錯誤的。儘管如此,至少,由於您的信息,我可以訪問該項目 - 只是索引是錯誤的。我將不得不從循環結構中找到正確的基於零的索引。 – skyeagle 2010-10-31 15:36:15
存在'counter0'。看到這裏:http://docs.djangoproject。com/en/dev/ref/templates/builtins /#對於 – 2010-10-31 16:16:20
感謝Nick。我會記得下次使用這個(counter0) - 我知道django開發者不會留下類似的東西:)。 – skyeagle 2010-10-31 21:52:01