如何在Django中向基于类的视图传递参数?

4 投票
1 回答
5000 浏览
提问于 2025-04-17 03:48

我有一个基于类的视图;

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.argsself.kwargs 来访问这些参数,前者是位置参数,后者是关键字参数。在你的情况下,使用 self.kwargs['id'] 就可以获取到你需要的值。

编辑:因为你重写了 get() 方法,但没有保留原来的参数格式。如果你要重写一个方法,记得要写成 def get(self, request, *args, **kwargs) 这样。

撰写回答