Say, I have the following mixins that overlaps with each other by touching dispatch()
:
class FooMixin(object):
def dispatch(self, *args, **kwargs):
# perform check A
...
return super(FooMixin, self).dispatch(*args, **kwargs)
class BarMixin(object):
def dispatch(self, *args, **kwargs):
# perform check B
...
return super(FooMixin, self).dispatch(*args, **kwargs)
If I want my view to go through the order, check A -> check B, should my code be MyView(FooMixin, BarMixin, View)
or MyView(BarMixin, FooMixin, View)
?
And why do we always put View
or its subclasses after mixins? (I have noticed this from reading the source code of the django generic views, but I don't know the rationale behind it, if any)