我试图绕过Django从1.3开始的基于类的新视图。子类化基于Django类的视图?
我已经做了一些阅读:
- http://reinout.vanrees.org/weblog/2011/08/24/class-based-views-usage.html
- http://www.caktusgroup.com/blog/2011/12/29/class-based-views-django-13/
但有一件事我还没有看到的例子,或者如何做的是,可以几个视图子类化一个常见的“父”类,重用这里的数据? (请原谅我的共同命名的颠簸)
的什么,我试图做一个例子:
class MyParentClass(TemplateView):
def get(self, request, *args, **kwargs):
session_data = request.session
other_variables = foovars
return self.render_to_response(context)
class MyChildClassOne(TemplateView):
template_name = "template_one.htm"
def get(self,request, *args, **kwargs):
resultant_data = foodata
return {'data' : resultant_data }
class MyChildClassTwo(TemplateView):
template_name = "template_two.htm"
def get(self,request, *args, **kwargs):
other_data = foootherdata
return {'data' : other_data }
这样两个子类之间唯一的区别是他们使用的模板和“数据”他们回来了。两个视图都会返回父类的session_data和other_variables,因此不会在每个子类中重复“return session_data,other_variables”。