一段時間後,我得到了建議,不要在使用Django時在我的網址中使用GET方法,因爲它更清潔。如何將兩個參數傳遞給url(無GET)?
該工程相當不錯的一個參數:
(r'^call/add/(?P<call_id>\d+)/$', call_view),
http://127.0.0.1:8000/call/add/1/
但我怎麼可能使用相同的方法使用兩個參數?
由於我還在學習,請啓發我更好的方法。謝謝。
一段時間後,我得到了建議,不要在使用Django時在我的網址中使用GET方法,因爲它更清潔。如何將兩個參數傳遞給url(無GET)?
該工程相當不錯的一個參數:
(r'^call/add/(?P<call_id>\d+)/$', call_view),
http://127.0.0.1:8000/call/add/1/
但我怎麼可能使用相同的方法使用兩個參數?
由於我還在學習,請啓發我更好的方法。謝謝。
你根本無法像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):
如下您可以指定多個參數:
(r'^call/add/(?P<call_id>\d+)/(?P<other_value>\d+)/$', call_view),
,並查看應該是這樣的:
def call_view(request, call_id, other_value):
# view code here
(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/