不久前,有人建议我在使用 Django 时不要在我的 url 中使用 GET 方法,因为这样更干净。
使用一个参数效果很好:
(r'^call/add/(?P<call_id>\d+)/$', call_view),
http://127.0.0.1:8000/call/add/1/
但是我怎么可能用两个参数使用相同的方法呢?
由于我仍在学习,请告诉我更好的方法。谢谢你。
不久前,有人建议我在使用 Django 时不要在我的 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<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/
您可以指定多个参数,如下所示:
(r'^call/add/(?P<call_id>\d+)/(?P<other_value>\d+)/$', call_view),
你的看法应该是这样的:
def call_view(request, call_id, other_value):
# view code here