2012-07-08 79 views
3

一段時間後,我得到了建議,不要在使用Django時在我的網址中使用GET方法,因爲它更清潔。如何將兩個參數傳遞給url(無GET)?

該工程相當不錯的一個參數:

(r'^call/add/(?P<call_id>\d+)/$', call_view), 

http://127.0.0.1:8000/call/add/1/ 

但我怎麼可能使用相同的方法使用兩個參數?

由於我還在學習,請啓發我更好的方法。謝謝。

回答

3

你根本無法像http://127.0.0.1:8000/call/add/1/foo/2後面添加另一個。您必須將第二個參數添加到正則表達式中,就像(r'^call/add/(?P<call_id>\d+)/foo/(?P<foo_id>\d+)$', call_view),一樣。

你必須改變控制器以及:def call_view(request, call_id, foo_id):

2

如下您可以指定多個參數:

(r'^call/add/(?P<call_id>\d+)/(?P<other_value>\d+)/$', call_view), 

,並查看應該是這樣的:

def call_view(request, call_id, other_value): 
    # view code here 
2
(r'^call/add/(?P<call_id>\d+)/(?P<receiver_id>\d+)/$', call_view), 

http://127.0.0.1:8000/call/add/1/903256 

,你需要在views.py

添加def call_view(request, call_id, receiver_id):或者你可以在你w+而不是d+傳遞字符串變量AA

(r'^call/add/(?P<call_id>\d+)/(?P<receiver_name>\w+)/$', call_view), 

http://127.0.0.1:8000/call/add/1/Kave 

欲瞭解更多信息:https://docs.djangoproject.com/en/dev/topics/http/urls/