Установил приложение
https://github.com/kbytesys/django-recaptcha2
Настроил по докам. Добавил свою форму:
from recaptcha2.fields import ReCaptchaField
from recaptcha2.widgets import ReCaptchaWidget
class CaptchaForm(forms.Form):
captcha = ReCaptchaField(
widget=ReCaptchaWidget(),
label='',
)
При активации, она работает на стороне клиента. Проблема начинается, когда я хочу в views.py делать проверку.
if request.POST:
auth_form = AuthForm(request, request.POST)
captcha_form = CaptchaForm(request, request.POST)
username = request.POST.get('username')
password = request.POST.get('password')
user = auth.authenticate(username=username, password=password)
# if user is not None and auth_form.is_valid():
if captcha_form.is_valid():
auth.login(request, user)
return HttpResponseRedirect('/')
else:
context['login_error'] = True
return render(request, 'index.html', context)
else:
return render(request, 'index.html', context)
Форма еще в тестовом режиме. Простая авторизация работает, а
captcha_form.is_valid()
выдает ошибку:
AttributeError at /auth/
'WSGIRequest' object has no attribute 'get'