Я хотел бы добавить аутентификацию Captcha к моему логину в Django. Я уже знаю, как аутентифицировать форму, но проблема в том, что у меня нет логина View на моем views.py , я использую логин-представление модуля, который я интегрировал в свой проект.
Правильное представление входа в систему, которое я использую, является правильным здесь , и я просто импортировал его в свой проект, и это представление обрабатывает всю часть входа в систему.
Теперь, как я могу добавить часть проверки подлинности капчи в это представление?
Я знаю, что первое, что я должен сделать, это унаследовать представление модуля от моего собственного views.py файла, но я действительно не знаю, как идти дальше. Я уже определил логику аутентификации формы Captcha, поэтому единственное, что мне нужно выяснить, - это как интегрировать следующий код в представление входа в систему, которое я использую:
def captcha_auth(request):
if request.method == "POST":
''' Begin reCAPTCHA validation '''
recaptcha_response = request.POST.get('g-recaptcha-response')
data = {
'secret': 'KEY',
'response': recaptcha_response
}
r = requests.post('https://www.google.com/recaptcha/api/siteverify', data=data)
result = r.json()
''' End reCAPTCHA validation '''
if result['success']:
//In the following lines i'll add authentication for the user
else:
messages.error(request, "Please fill the captcha form")