确实不是那种程度的失败。我刚刚完成了 djangoproject.com 的 4 部分教程,我的管理应用程序运行良好,我的入口点 url (/polls/) 运行良好,但我得到了以下 http 响应:
没有可用的民意调查。
即使数据库只有一个注册表。使用管理应用程序输入,该条目会按应有的方式显示。
在本教程结束时,您可以通过将其替换为 URLconf 上的通用视图来更改所有硬编码视图。假设在所有修改之后,您的 urls.py 最终会像这样:
from django.conf.urls.defaults import *
from mysite.polls.models import Poll
info_dict = {
'queryset': Poll.objects.all(),
}
urlpatterns = patterns('',
(r'^$', 'django.views.generic.list_detail.object_list', info_dict),
(r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict),
url(r'^(?P<object_id>\d+)/results/$', 'django.views.generic.list_detail.object_detail', dict(info_dict, template_name='polls/results.html'), 'poll_results'),
(r'^(?P<poll_id>\d+)/vote/$', 'mysite.polls.views.vote'),
)
使用这些通用视图,复制/粘贴我的views.py 文件是毫无意义的,我只会提到只有一个投票功能(因为 django 通用视图完成了所有的魔力)。我的假设是 urls.py 文件需要进行一些调整,或者在某些方面出现错误才能发送“没有可用的民意调查”。输出在 /polls/ url。我的 poll_list.html 文件如下所示:
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li>{{ poll.question }}</li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
它将latest_poll_list 评估为false,这就是执行else 块的原因。
你能帮我吗? (我在堆栈溢出中搜索了重复的问题,甚至在谷歌上搜索了这个问题,但我找不到任何东西)。为什么当我输入时会收到此消息http://127.0.0.1:8000/polls http://127.0.0.1:8000/polls?