2015-12-22 31 views
2

需要URL以分號什麼模式我有這樣我的網址在Django

http://www.example.com/user;age=9;name=dsds-dsds-ddd 

鏈接現在我有POST

,此網址
url(r'^user$', 
    views.CreateView.as_view(), 
    name='user-create') 

現在我也想匹配以上帶分號分隔參數的url。

我無法找到

  1. 什麼URL模式定義
  2. 如何抓住鑑於這些參數

我想這

url(r'^user;(?P<params>)$', 
+0

你不能使用GET查詢或POST數據嗎? –

回答

1

檢查Django的啓用APPEND_SLASH功能,它可能迫使你添加一個sl灰/在可能成爲問題的每個URL的末尾。

嘗試這樣做:

url(r'^user/(?P<myparams>[\w;.]/$', 
    views.CreateView.as_view(), 
    name='user-create') 

你在這種情況下,URL必須是這樣的:

http://www.example.com/user/;age=9;name=dsds-dsds-ddd 

Django會自動在末尾附加一個/,並將其轉換爲:

http://www.example.com/user/;age=9;name=dsds-dsds-ddd/ 
+0

任何方式沒有添加斜槓 –

+0

@JohnKaff是的,但它可能是危險的只是爲了信息的緣故,這將做它'url(r'^ user(?P [\ w ;. ]',views.CreateView.as_view(),name ='user-create')'或者如果你喜歡@doniyor方法來處理它,你可以像'url(r'^ user',views.test) – anand

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'] 

希望,這可以幫助你

+0

是否有任何方式沒有添加斜槓 –