我组成如下的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.
我认为&#39;(&#39;或&#39;)&#39;角色会产生这个问题,但我不知道如何解决这个问题。
答案 0 :(得分:2)
您指定的模式最后需要'/'才能匹配。
http://localhost:8000/common/sktag/Engineer(SW)/
应该工作。
编辑:
您还需要更新正则表达式以处理括号。有关详细信息,请参阅Python Regular Expressions 文档。
答案 1 :(得分:1)
您需要更改正则表达式以接受括号。目前,\w
仅匹配字母a-z,A-Z,数字0-9和下划线。
url(r'^sktag/(?P<st_char>[\w()]+)/$', views.MW_Tag_Search.as_view(), name='tagSearch')
正如约翰在他的回答中提到的那样,你也需要在网址上添加一个斜杠,例如。
http://localhost:8000/common/sktag/Engineer(SW)/