我正在将 django-two-factor-auth 实施到我正在构建的项目中。我有两个因素可以毫无问题地处理基础项目。我目前遇到了一个问题,即在发布期间对令牌的验证检查运行了两次,这导致身份验证失败。
要生成此问题的子类 LoginView 并在下面添加覆盖邮政编码:
class Custom_Login_View(LoginView):
template_name = 'two_factor/core/login.html'
def get_form(self, step=None, data=None, files=None):
return super().get_form(step, data, files)
def post(self, *args, **kwargs):
form = self.get_form(data=self.request.POST, files=self.request.FILES)
form.is_valid()
return super().post(*args, **kwargs)
看来问题是is_valid
在我的表单和它的父表单中都调用了它,这就是身份验证发生两次的原因。很可能我正在做一些事情来导致我自己的问题,但我无法弄清楚如何防止它,而不在 django-two-factor-auth 中编辑一些东西。
我错过了什么吗?有没有好的解决方法?我想我知道修补 django-two-factor-auth 以修复它的好地方,但我宁愿不必这样做。