说,我有以下通过触摸相互重叠的混合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
它或其子类放在 mixins 之后?(我从阅读 django 通用视图的源代码中注意到了这一点,但我不知道它背后的基本原理,如果有的话)