Разница между использованием super() и super(ViewName,self)
Я использовал в общих представлениях (CBV)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
но я заметил, что люди здесь делают:
context = super(ClassViewName,self).get_context_data(**kwargs)
есть ли разница?
1 ответ
Решение
Разница в синтаксисе, поддерживаемом версией 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