使用 super() 和 super(ViewName,self) 的区别

difference between using super() and super(ViewName,self)

我一直在通用视图 (CBV) 中使用

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)

但我注意到这里的人这样做:

context = super(ClassViewName,self).get_context_data(**kwargs)

有区别吗?

不同之处在于 python 版本支持的语法。 在 python 3 中,您将使用

context = super().get_context_data(**kwargs)

而在 python 2 中,您将使用

context = super(ClassViewName,self).get_context_data(**kwargs)

任何 super 方法调用都是如此

参见:http://www.pythonforbeginners.com/super/working-python-super-function