在内部将GET参数传递给Django视图

时间:2017-07-04 10:57:01

标签: django django-rest-framework

我试图从另一个视图内部调用Django视图:

response = BlogViewSet.as_view({'get':'list'})(request)

BlogViewSet实际上是一个休息框架视图。 上面的代码工作,我可以访问response.data,但我真正想要做的是传递一些GET参数进行一些过滤。我尝试了以下但是它没有工作:

response = BlogViewSet.as_view({'get':'list'})(request, my_param=something)

我意识到我可以修改request来添加GET参数,但修改它似乎是错误的,因为它可能会在后面的视图中使用。

2 个答案:

答案 0 :(得分:2)

你不应该从另一个视角调用视图本身。

您应该尝试从BlogViewSet视图中提取有意义的数据/代码,并直接从各种视图中调用它们。

答案 1 :(得分:-1)

从另一个视图调用一个视图是一种不好的做法。

为什么不请求视图的url而不是调用视图本身。

r = requests.get("<url_to_access_view>", params={})