繁体   English   中英

找不到页面(404),Django中的URL映射

[英]Page not found (404), URL mapping in Django

我组成如下的urlpatterns。

url(r'^sktag/(?P<st_char>\w+)/$', views.MW_Tag_Search.as_view(), name='tagSearch')

我在Chrome浏览器中输入了网址。

http://localhost:8000/common/sktag/Engineer(SW)

然后我找不到页面。 参考以下

Using the URLconf defined in MW_Service.urls, Django tried these URL patterns, in this order:
1. ^common/ ^sktag/(?P<st_char>\w+)/exclude/(?P<ex_tags>\w+[\+\w+]*)/$ [name='tagSearchV2']
2. ^common/ ^sktag/(?P<st_char>\w+)/$ [name='tagSearch']
...
The current URL, common/sktag/Engineer(SW), didn't match any of these.

我认为'('或')'字符会导致此问题,但我不知道如何解决。

您指定的模式末尾需要一个'/'才能匹配。

http://localhost:8000/common/sktag/Engineer(SW)/应该可以。

编辑:

您还需要更新正则表达式以处理括号。 有关更多详细信息,请参阅Python正则表达式文档。

您需要更改正则表达式以接受括号。 目前, \\w仅匹配字母az,az,数字0-9和下划线。

url(r'^sktag/(?P<st_char>[\w()]+)/$', views.MW_Tag_Search.as_view(), name='tagSearch')

正如John在回答中提到的那样,您还需要在网址后面加上斜杠,例如

http://localhost:8000/common/sktag/Engineer(SW)/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM