python/django for循环和列表属性

Chr*_*ris 4 python django for-loop list

所以,我正在研究Django Book和django文档,我无法理解这个例子:

<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

这是关于模板的,我不知道如何编写Context.如何从列表中获取名为"name"的属性?如果我创建一个字典,就不可能像本例中那样使用for循环.我已经像这样编码但是它不起作用:

athlete_list = {'name' = ['Athlete1', 'Athlete2', 'Athlete3']}
Context({'athlete_list':athlete_list})
Run Code Online (Sandbox Code Playgroud)

如果我将athlete_list变量更改为普通列表(不是字典),模板中的"athlete.name"也不会起作用.我不认为这是一本书中的错误,它可能很容易解决,但我无法得到它.

Jon*_*nts 5

我怀疑这athlete_list是一个包含Athlete模型的QuerySet对象......(在任何地方都可以提到吗?).然后车型将有一个.name.age.sport或任何...

更新 - 只是看了http://www.djangobook.com/en/2.0/chapter04.html - 这实际上似乎不是最好的例子....

要保持模板不变,您可以返回一个dicts列表的上下文,例如:

[ {'name': 'bob'}, {'name': 'jim'}, {'name': 'joe'} ]
Run Code Online (Sandbox Code Playgroud)