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'