Добавление капчи в форму входа в Django - PullRequest
0 голосов
/ 19 марта 2019

Я хотел бы добавить аутентификацию 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")
...