在Django视图中,需要双重身份验证以及登录和权限,mixin类的相对顺序应该是什么?

2024-04-24 16:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在回顾一个基于类的视图,它使用^{}以及^{}^{}。我知道继承链中mixin的顺序很重要;例如,docs声明LoginRequiredMixin应该位于最左边的位置。你知道吗

我的猜测是混合物应该按如下顺序排列:

from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from two_factor.views.mixins import OTPRequiredMixin


class AccessMixin(LoginRequiredMixin, PermissionRequiredMixin, OTPRequiredMixin):
    pass

但是,我在Django双因素认证文档中找不到对此的任何确认。这是点菜的正确方法吗?你知道吗


Tags: djangofromimportauth视图声明docs顺序
1条回答
网友
1楼 · 发布于 2024-04-24 16:59:07

当您使用PermissionRequiredMixin时,您可能不需要LoginRequiredMixin—匿名用户将无法通过权限检查并被重定向。你知道吗

另外两种混合的顺序可能并不重要。您当前的排序(PermissionRequiredMixinOTPRequiredMixin之前)意味着将首先检查权限。如果希望先运行OTPRequiredMixin检查,可以切换顺序。你知道吗

相关问题 更多 >