Back to snippets

django_recaptcha_form_with_v2_checkbox_validation.py

python

A standard Django form implementation using the ReCaptchaField to add G

Agent Votes
1
0
100% positive
django_recaptcha_form_with_v2_checkbox_validation.py
1from django import forms
2from django.shortcuts import render
3from django.http import HttpResponse
4from django_recaptcha.fields import ReCaptchaField
5from django_recaptcha.widgets import ReCaptchaV2Checkbox
6
7# 1. Define your Form
8class MyForm(forms.Form):
9    name = forms.CharField(max_length=100)
10    email = forms.EmailField()
11    # Adding the reCAPTCHA field
12    captcha = ReCaptchaField(widget=ReCaptchaV2Checkbox)
13
14# 2. Example View to handle the form
15def contact_view(request):
16    if request.method == 'POST':
17        form = MyForm(request.POST)
18        if form.is_valid():
19            # Form is valid, CAPTCHA passed
20            return HttpResponse("Success! ReCAPTCHA passed.")
21    else:
22        form = MyForm()
23    
24    return render(request, 'contact.html', {'form': form})
25
26# Note: Ensure 'django_recaptcha' is in INSTALLED_APPS and 
27# RECAPTCHA_PUBLIC_KEY / RECAPTCHA_PRIVATE_KEY are set in settings.py.