我的URL.py文件中有以下语句
(r'^confirm/(\d+)/$', confirm)
但是这个网址
http://127.0.0.1:8000/confirm/DMo32zPB15
返回此
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/confirm/DMo32zPB15
Using the URLconf defined in BBN.urls, Django tried these URL patterns, in this order:
^login/$
^ajax/login$
^ajax/login/nact/$
^ajax/login/nact/cancel//$
^ajax/login/nact/resend/$
^confirm/(\d+)/$
The current URL, confirm/DMo32zPB15, didn't match any of these.
You're seeing this error because you have DEBUG = True in your Django settings file Change that to False, and Django will display a standard 404 page.
为什么不会重新识别网址?
答案 0 :(得分:4)
\d+
表示一个或多个数字。
DMo32zPB15
有数字和字母。请改为r'^confirm/([a-zA-Z0-9]+)/$'
。
有关正则表达式的更多信息,请访问http://www.regular-expressions.info以获取您的阅读乐趣。
答案 1 :(得分:3)
这与您关于\d+
的其他问题有关。 \d+
仅匹配数字。您的URL包含不是数字的内容(如字母)。您应该看看我在回答您的其他问题时链接的正则表达式教程,并在尝试使用它们编写URL匹配器之前掌握正则表达式。