我有这样的网址
http://www.example.com/user;age=9;name=dsds-dsds-ddd
现在我有这个POST的网址
url(r'^user$',
views.CreateView.as_view(),
name='user-create')
现在我还希望将上面的url与分号分隔的参数匹配。
我无法找到
我试过这个
url(r'^user;(?P<params>)$',
答案 0 :(得分:1)
urls.py
url(r'^user/', views.test)
views.py
from urllib import unquote
def test(request):
url_with_semicolon = unquote(request.get_full_path())
print url_with_semicolon.split(';')[1:]
return HttpResponse('ok')
输入:
http://www.example.com/user/age=9;name=dsds-dsds-ddd
输出:
[u'age=9', u'name=dsds-dsds-ddd']
希望,这有助于你
答案 1 :(得分:1)
检查django是否启用了APPEND_SLASH功能,这可能会强制您在每个可能有问题的网址末尾添加斜杠/
。
尝试这样做:
url(r'^user/(?P<myparams>[\w;.]/$',
views.CreateView.as_view(),
name='user-create')
在这种情况下,您的网址必须是这样的:
http://www.example.com/user/;age=9;name=dsds-dsds-ddd
django会在结尾处自动附加/
并将其转换为:
http://www.example.com/user/;age=9;name=dsds-dsds-ddd/