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

时间:2018-04-08 00:21:30

标签: python django django-views django-class-based-views django-context

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

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

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

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

有区别吗?

1 个答案:

答案 0 :(得分:2)

区别在于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