3

不久前,有人建议我在使用 Django 时不要在我的 url 中使用 GET 方法,因为这样更干净。

使用一个参数效果很好:

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

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

但是我怎么可能用两个参数使用相同的方法呢?

由于我仍在学习,请告诉我更好的方法。谢谢你。

4

3 回答 3

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):

于 2012-07-08T19:36:14.107 回答
2
(r'^call/add/(?P<call_id>\d+)/(?P<receiver_id>\d+)/$', call_view),

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

你需要添加def call_view(request, call_id, receiver_id):views.py

或者你可以你 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/

于 2012-07-08T19:39:51.353 回答
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
于 2012-07-08T19:36:05.603 回答