Django:URL中的多个参数反向解析而没有查询字符串或捕获的参数

时间:2017-01-30 22:52:37

标签: django url parameters reverse

不使用查询字符串(如?case = / 2 /),也不在url conf中捕获参数(如?P)(因此它们不会显示在url中), 有没有办法在使用URL反向分辨率时将参数传递给视图函数?

希望一个例子可以澄清我的问题:

使用捕获的参数我可以做到:

views.py ... 返回HttpResponseRedirect(反向('videos:show_details',args = [video.id]))

urls.py ... url(r'^ club /(?P \ d +)/ $',views.details,name ='show_details'), ...

但是,如果视图详细信息需要/接受更多参数,例如:

def详细信息(request,video_id,director ='',show_all = True):

我们不希望它们显示在网址中?

使用args或kwargs的任何方式,如果没有它们在URL中?

我确定我在这里遗漏了一些小事:S

希望有人可以指出我正确的方向。 谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定这是你的意思,但你可以将额外的参数传递给url模式。这允许多个指向同一视图的URL使用不同的参数:

url(r'^club/(?P<pk>\d+)/$', views.details, kwargs={'show_all': False}, name='show_details')