为什么Django教程在detail.html中使用choice.choice作为变量?
我目前正在(非常缓慢地)学习Django文档中的Django教程,以及。在第三部分中,将为教程中设置的轮询构建detail.html视图 我或多或少都在关注这一点,但detail.html代码中的这一点让我感到困惑:为什么Django教程在detail.html中使用choice.choice作为变量?,django,Django,我目前正在(非常缓慢地)学习Django文档中的Django教程,以及。在第三部分中,将为教程中设置的轮询构建detail.html视图 我或多或少都在关注这一点,但detail.html代码中的这一点让我感到困惑: <h1>{{ poll.question }}</h1> <ul> {% for choice in poll.choice_set.all %} <li>{{ choice.choice }}</li> {% e
<h1>{{ poll.question }}</h1>
<ul>
{% for choice in poll.choice_set.all %}
<li>{{ choice.choice }}</li>
{% endfor %}
</ul>
{{poll.question}
{poll.choice_set.all%}
- {{choice.choice}
{%endfor%}
我知道,首先它显示民意测验的“问题”部分(poll.question),然后它运行该民意测验的选项集中的所有选项(choice)(poll.choice_set.all),但为什么它要寻找选项的值“choice”
如果我将detail.html更改为仅包含以下内容,它仍然有效:
<li>{{ choice }}</li>
{{choice}
这是一个从根本上说是Pythonesque或djangosque的例子,我应该在继续前进之前先把脑袋绕过去,还是这只是一个两种选择都同样好的情况 poll.choice\u set.all()
返回与poll
关联的整个choice
集合(通过choice.poll
ForeignKey
)。choice
属性是choice
模型中的CharField
,如本教程第1部分所述。使用{{choice}
是因为choice.\uuuu unicode\uuuu()
在第1部分中定义为返回choice
字段的值