我刚开始自学python / django并且一直在关注django教程。我一直陷入URLConfs的脱钩。我已将代码复制到教程中的相应文件中,但我收到此错误:
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^polls/ ^/$
^polls/ ^/(?P<poll_id>\d+)/$
^polls/ ^/(?P<poll_id>\d+)/results/$
^polls/ ^/(?P<poll_id>\d+)/vote/$
^admin/
The current URL, polls/, didn't match any of these.
我按照教程(https://docs.djangoproject.com/en/dev/intro/tutorial03/)的要求在mysite和polls文件夹中都有urls.py
答案 0 :(得分:2)
简答:删除/
上网址配置中的第一个polls.urls
。
长解释: 这里的问题正如Julian在评论中提到的那样,你在URL配置中有一个额外的斜杠。
如果您的根URL配置中包含以下内容:
url(r'^polls/', include('polls.urls')),
这实际上“切断”了URL字符串的polls/
部分,并将其余部分传递给polls.urls
。因此,如果您尝试获取网址polls/13/results
,polls/
将由my site.urls
处理,其余的将提供给polls.urls
。
然而,您的polls.urls
文件似乎要求字符串前面有/
,并且因为它已被删除,所以它不存在。插入符^
字符表示字符串的开头,因此当前所需的所有配置在/
收到polls.urls
时以/polls//13/results
开头他们,他们不应该这样做,否则你期待以下:
/polls/13/results
而不是:
{{1}}
我希望这能解决所有问题!