Django: Add Another Subclass In A Class Based View
This is my first django app and I was wondering if it is possible to have a general class which will be extended by all Views. For example class GeneralParent: def __init__(self
Solution 1:
Order of inheritance is important and calls of super cascade down the line of inheritance. You must account for any variables that may be passed down in inheritance in your __init__ methods.
The first inheritances methods will be called first, and the second as as the __init__ method of the first parent calls super (in order to call the __init__ of the second parent). GeneralParent must inherit from object or a class that inherits from object.
classGeneralParent(object):
def__init__(self,*args,**kwargs):
#SETTING Up different variables super(GeneralParent,self).__init__(*args,**kwargs)
self.LoggedIn = false
defisLoggedIn(self):
return self.LoggedIn
classFirstView(GeneralParent,TemplateView):
####other stuff##defget_context_data(self, **kwargs):
context = super(FirstView, self).get_context_data(**kwargs)
allLeads = len(self.getAllLeads())
context['isLoggedIn'] = ####CALL GENEREAL PARENT CLASS METHOD###return context
classSecondView(GeneralParent,FormView):
####other stuff##defget_context_data(self, **kwargs):
context = super(SecondView, self).get_context_data(**kwargs)
allLeads = len(self.getAllLeads())
context['isLoggedIn'] = ####CALL GENEREAL PARENT CLASS METHOD###return context
Post a Comment for "Django: Add Another Subclass In A Class Based View"