Django allauth и google recaptcha на странице входа - есть хорошие решения?

Я получаю эту ошибку ошибка Исключение Значение login() получил неожиданный аргумент ключевого слова 'redirect_url' Exception Location: \allauth\account\views.py, строка 159, in form_valid

Я бы подумал, что есть несколько хороших решений, но ни одно из них не работает для меня, кажется, что оно устарело?

Я использую django-allauth и django-recaptcha 2.0.6

На странице входа в систему отображается google recaptcha, но мне кажется, что она вообще не работает. Когда я ввожу неправильный пароль, он говорит, что он неправильный, даже когда я не ставлю галочку. Я пробовал поместить {{ form.captcha }} в html, но он вообще не отображается. Когда я ввожу правильный пароль с галочкой или без нее, я получаю ошибку, описанную выше.

Должно быть простое решение?

Вот мой код:

forms.py

from allauth.account.forms import LoginForm
from captcha.fields import ReCaptchaField

class MyCustomLoginForm(LoginForm):

    def login(self):

        captcha = ReCaptchaField()


        # You must return the original result.
        return super(MyCustomLoginForm, self).login(captcha)

login.html

<form class="login" method="POST" action="{% url 'account_login' %}">
  {% csrf_token %}
  {{ form.as_p }}
  {% if redirect_field_value %}
  <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
  {% endif %}
  <a class="button secondaryAction" href="{% url 'account_reset_password' %}">{% trans "Forgot Password?" %}</a>
  <script src='https://www.google.com/recaptcha/api.js'></script>
  <div class="g-recaptcha" data-sitekey="xxxx"></div>
  
  <button class="primaryAction" type="submit">{% trans "Sign In" %}</button>
</form>

settings.py

ACCOUNT_FORMS = {'login': 'myapp.forms.MyCustomLoginForm'}
GOOGLE_RECAPTCHA_SECRET_KEY = 'yyyy'
Вернуться на верх