2012-12-20 28 views
1

我是Django的新手,開始學習。我試圖訪問for循環中的列表,但我不能關於使用列表的基本Django

todo_list = ({'count':'one','count':'two','count':'three'}) 
raw_template=""" {% for todo in todo_list.count %} 
    <p>{{ forloop.counter }}: {{ item }} </p> {% endfor %} """ 
t = Template(raw_template) 
c = Context({'todo_list':todo_list}) 
t.render(c) 
u'\n \n <p>1: </p>\n \n <p>2: </p>\n \n <p>3: </p>\n \n ' 

請讓我知道我犯了什麼錯誤。

謝謝。

+2

這是基本的Python,而不是Django的。字典不能有多個關鍵字。 –

回答

3

您需要通過上下文的列表:

todo_list = ['one', 'two', 'three'] 

然後在模板:

{% for todo in todo_list %} 
    <p>{{ forloop.counter }}: {{ todo }}</p> 
{% endfor %} 

所有代號:

from django.template import Context, Template 

t = Template(""" 
{% for todo in todo_list %} 
<p>{{ forloop.counter }}: {{ todo }}</p> 
{% endfor %} 
""") 
c = Context({ 
    'todo_list': ['one', 'two', 'three'], 
}) 
t.render(c) 
+0

我使用如下: todo_list = [ '一個', '2', '3'] raw_template = 「」」 {%用於todo_list%待辦事項}

{{forloop.counter}}:{{項}}

{%ENDFOR%} 「」」 噸=模板(raw_template) C =上下文({ 'todo_list':todo_list}) t.render(上下文(C)) 但輸出相同: u'\ n \ n

1:

\ n \ n

2:

\ n \ n

3:

\ n \ n – AIR

+0

啊!我犯的一個愚蠢的錯誤。 :( 感謝您的更正 – AIR

+0

您需要'{{todo}}'而不是'{{item}}' –