我正在浏览django教程,并构建了示例民意调查应用程序。我在系统中有5个民意调查,通过管理界面可以看到我。但是,我的基本索引视图和模板似乎没有显示它们(相反,模板默认为else子句,就像没有轮询一样)。
我的索引视图如下:
def index(request):
latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
return render_to_response('index.html', {'latest_poll_list': latest_poll_list})
模板index.html:
{% if latest_poll_List %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="/polls/{{ poll.id }}/">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p> No polls are available.</p>
{% endif %}
我甚至可以在manage.py shell中执行polls = Poll.objects.all()
(有或没有order_by和截断),它返回一切正常。是什么给了什么?
答案 0 :(得分:3)
这可能是一个简单的错字: latest_poll_List 应为 latest_poll_list ,列表中的小写字母为L.否则可以试试:
{% if latest_poll_list.count > 0 %}
...
{% endif %}
还可以尝试:
{{ latest_poll_list }}
在你的模板某处查看是否打印出正确的对象列表(即模板正在获取正确的民意调查列表)