【发布时间】:2018-02-07 12:01:19
【问题描述】:
我在以下应用中的 url 模式:
urlpatterns = [
url(r'^show/(?P<arg1>[\w\d_\.]+)$', views.view_1),
url(r'^show/(?P<arg1>[\w\d_\.]+)/(?P<arg2>[\w\d_\.]+)$', views.view_2),
url(r'^show/(?P<arg1>[\w\d_\.]+)/(?P<arg2>[\w\d_\.]+)/(?P<arg3>[\w\d_\.]+)$', views.view_3),
]
网址:/show/in_arg1/in_arg2%2F_this_is_arg2 匹配 view_3
但我想让 url 匹配 view_2
我尝试更改 urlpatterns 之类的
urlpatterns = [
url(r'^show/(?P<arg1>[\w\d_\.]+)$', views.view_1),
url(r'^show/(?P<arg1>[\w\d_\.]+)/(?P<arg2>[\w\d_\.\/]+)$', views.view_2),
url(r'^show/(?P<arg1>[\w\d_\.]+)/(?P<arg2>[\w\d_\.\/]+)/(?P<arg3>[\w\d_\.]+)$', views.view_3),
]
网址:/show/in_arg1/in_arg2%2F_this_is_arg2 效果很好
但 url /show/in_arg1/in_arg2/in_arg3 将匹配 view_2,而不是我想要的
似乎 django 在 url 匹配之前将 %2F 解码为 /
我可以让 django 在不解码 %2F 的情况下进行 url 匹配吗?
或者解决我的问题的方法
谢谢
【问题讨论】:
-
在您的问题中添加
regex标签。