如何在Django中向基于类的视图传递参数?
我有一个基于类的视图;
class myClassView():
def get(self):
# lots of code ...
return response
我的网址配置看起来是这样的
(r^'call_myClassView/', myClassView.as_view())
我想用以前的方式把参数传递给网址配置
(r'call_myClassView/(?P<id>\w+)/$',myClassView.as_view())
我该如何把参数传递给我的网址配置,并在我的类视图中接收这些参数呢?
1 个回答
13
它们是以旧的方式传递的。
你可以通过 self.args
和 self.kwargs
来访问这些参数,前者是位置参数,后者是关键字参数。在你的情况下,使用 self.kwargs['id']
就可以获取到你需要的值。
编辑:因为你重写了 get()
方法,但没有保留原来的参数格式。如果你要重写一个方法,记得要写成 def get(self, request, *args, **kwargs)
这样。