Я пытаюсь интегрировать оси Django с django-two-factor-auth, но сталкиваюсь с ошибкой при публикации первого шага в форме аутентификации:
AxesBackend requires a request as an argument to authenticate
Я предполагаю, что мне следует переопределить AuthenticationForm из Django.contrib.auth, поскольку именно здесь вызывается authenticate
, но не уверен, что передать в качестве запроса:
class LoginForm(AuthenticationForm):
class Meta:
fields = ('username', 'password')
def clean(self):
username = self.cleaned_data.get('username')
password = self.cleaned_data.get('password')
if username is not None and password:
self.user_cache = authenticate(self.request, username=username, password=password)
if self.user_cache is None:
raise self.get_invalid_login_error()
else:
self.confirm_login_allowed(self.user_cache)
return self.cleaned_data
Я также переопределил представление и несколько методов без удачи. Любая помощь по этому вопросу будет высоко оценен Дайте мне знать, если потребуется дополнительная информация.