Скажем, у меня есть следующие примеси, которые накладываются друг на друга, касаясь 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)
Если я хочу, чтобы мое представление проходило по порядку, отметьте A -> отметьте B, если мой код должен быть MyView(FooMixin, BarMixin, View)
или MyView(BarMixin, FooMixin, View)
?
И почему мы всегда ставим View
или его подклассы после миксинов? (Я заметил это, читая исходный код универсальных представлений django, но я не знаю причин, стоящих за этим, если таковые имеются)