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

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

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

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

На странице входа в систему отображается рекапча Google, но я не думаю, что она вообще работает. Когда я ввожу неправильный пароль, он говорит, что он неправильный, даже если я не устанавливаю флажок. Я пробовал поместить {{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'

0 ответов

Другие вопросы по тегам