![](/img/trans.png)
[英]Django HttpResponseRedirect(reverse('url')) Returns NoReverseMatch Error
[英]Django - Reverse resolution of URL throws 'NoReverseMatch'
我在urls.py中有url(r'^topics/(?P<topic_id>\\d+)/$', views.topic, name='topic')
但當我嘗試轉到localhost:8000 / topics / 1時它告訴我它嘗試了一種模式: topics/(?P<topic_id>**\\\\**d+)/$
我認為這將是topics/(?P<topic_id>**\\**d+)/$
我正在使用一本名為《 Python崩潰課程》 (第1版)的書(第18章)。 這是將Django 1.11與Python結合使用的本地服務器。 我已經嘗試過很多重新格式化url模式的操作,但是我是新手,所以我不知道該怎么辦。
...
urlpatterns = [
url(r'^$', views.index, name='index'),
# Show all topics.
url(r'^topics/$', views.topics, name='topics'),
# Detail page for a single topic.
url(r'^topics/(?P<topic_id>\d+)/$', views.topic, name='topic'),
]
我希望它會以正確的頁面彈出,但是它總是顯示' NoReverseMatch at / topics / 01 / '
因此,您已經忘記了 URL 末尾的斜杠 ,因此為什么不匹配斜杠 。
您可以從正則表達式中刪除斜杠,但這可以解決問題:如果放置斜杠,它將不起作用。
我想您可以使用/?$
結束模式,但這是一個更可靠的解決方案: Jiaaro的回答:django urls不帶斜杠不會重定向
基本上:
在settings.py文件中檢查您的APPEND_SLASH設置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.