Вот возможный способ: ваш родительский класс вернет переменную с именем data в контексте, который будет установлен дочерним классом.
Пример:
class MyParentClass(TemplateView):
def get(self, request, *args, **kwargs):
session_data = request.session
other_variables = foovars
context['data'] = data
return self.render_to_response(context)
class MyChildClassOne(MyParentClass):
template_name = "template_one.htm"
def get(self,request, *args, **kwargs):
data = foodata
return super(MyChildClassOne, self).get(request, args, kwargs)
class MyChildClassTwo(MyParentClass):
template_name = "template_two.htm"
def get(self,request, *args, **kwargs):
data = foootherdata
return super(MyChildClassTwo, self).get(request, args, kwargs)
Оба ваших дочерних классаНаследовать от MyParentClass
, чей метод get
автоматически устанавливает переменную с именем data
в контекст.Значения данных предоставляются дочерними классами.После этого они вызывают метод get
родителя для выполнения общих операций, включая рендеринг.