我有以下urlpattern:
url(r'exp/users/(?P<userid>\w.+)/$', 'myapp.views.users_view_by_id', name='users_id'),
当用户ID是单个数字时(例如&#39; 1&#39;)我得到404 Page Not Not Found但当它超过一位数时,该页面会按预期响应(例如&#39; 10&#39; ;)
因此'../exp/users/10/'
工作正常,但'.../exp/users/1/'
会返回404。
答案 0 :(得分:3)
你的正则表达式中有一个额外的.
。
\w.+
表示&#34;一个字母数字字符,然后是一个或多个字符&#34;。你想要的只是\w+
,这意味着&#34;一个或多个字母数字字符&#34;。
修改强>
如果你想要包含文字&#34;。&#34;在可以接受的字符中,使用方括号来定义类:
(?P<userid>[\w.]+)
答案 1 :(得分:0)
如果您想匹配一个或多个数字,请使用(?P<userid>\d+)
。
您当前的正则表达式需要一个字符与\w
&#39;匹配,后跟至少一个匹配.+
的字符。