Python 在Django视图中,需要双因素身份验证以及登录和权限,mixin类的相对顺序应该是什么?
我正在回顾一个基于类的视图,它使用以及和。我知道继承链中mixin的顺序很重要;例如,文档说明Python 在Django视图中,需要双因素身份验证以及登录和权限,mixin类的相对顺序应该是什么?,python,django,two-factor-authentication,Python,Django,Two Factor Authentication,我正在回顾一个基于类的视图,它使用以及和。我知道继承链中mixin的顺序很重要;例如,文档说明LoginRequiredMixin应该位于最左边的位置 我的猜测是,混合器的订购应如下所示: from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin from two_factor.views.mixins import OTPRequiredMixin class AccessMixin
LoginRequiredMixin
应该位于最左边的位置
我的猜测是,混合器的订购应如下所示:
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from two_factor.views.mixins import OTPRequiredMixin
class AccessMixin(LoginRequiredMixin, PermissionRequiredMixin, OTPRequiredMixin):
pass
然而,我无法从Django双因素身份验证文档中找到对此的任何确认。这是订购混音的正确方式吗?当您使用
PermissionRequiredMixin
时,您可能不需要登录RequiredMixin
-匿名用户将无法通过权限检查并被重定向
其他两种混合物的顺序可能并不重要。您当前的订购(PermissionRequiredMixin
之前的OTPRequiredMixin
)意味着将首先检查权限。如果希望先运行OTPRequiredMixin
检查,可以切换顺序