Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-URL抛出的反向解析';NoReverseMatch';_Python_Django - Fatal编程技术网

Python Django-URL抛出的反向解析';NoReverseMatch';

Python Django-URL抛出的反向解析';NoReverseMatch';,python,django,Python,Django,我在url.py中有url(r'^topics/(?p\d+)/$),views.topic,name='topic'),但当我尝试转到localhost:8000/topics/1时,它告诉我它尝试了一种模式:topics/(?p**\\\\**d+)/$ 我想应该是主题/(?P**\**d+/$ 我正在使用一本名为《Python速成课程》(第一版)(第18章)的书。 这是一个使用Django 1.11和Python的本地服务器。我已经尝试了很多对url模式的重新格式化,但我对这方面还不熟悉,

我在url.py中有
url(r'^topics/(?p\d+)/$),views.topic,name='topic')
,但当我尝试转到localhost:8000/topics/1时,它告诉我它尝试了一种模式:
topics/(?p**\\\\**d+)/$
我想应该是
主题/(?P**\**d+/$

我正在使用一本名为《Python速成课程》(第一版)(第18章)的书。 这是一个使用Django 1.11和Python的本地服务器。我已经尝试了很多对url模式的重新格式化,但我对这方面还不熟悉,所以我不知道还能做什么

。。。
URL模式=[
url(r'^$',views.index,name='index'),
#显示所有主题。
url(r“^topics/$”,views.topics,name='topics'),
#单个主题的详细信息页。
url(r“^topics/(?P\d+/$”,views.topic,name='topic'),
]

我希望它弹出正确的页面,但它总是说“NoReverseMatch at/topics/01/

,所以你忘记了URL末尾的尾随斜杠,因此它不匹配

您可以从正则表达式中删除斜杠,但这将改变问题:如果您添加斜杠,它将不起作用

我想您可以用
/?$
结束模式,但这里有一个可能更健壮的解决方案:

基本上:

检查settings.py文件中的追加斜杠设置


localhost:8000/topics/1
你没有忘记后面的斜杠吗?对不起,是的,我忘记了。