Google reCAPTCHA v2recaptcha
The classic checkbox, verified against Google. Rendered through CaptchaField("recaptcha"),
like any other form field.
The code
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
message = forms.CharField(widget=forms.Textarea)
captcha = CaptchaField("recaptcha")
The POST field this widget submits is named by the service, not by the form. Look at
the request payload: the value arrives under
recaptcha's own field name, and the widget finds it anyway.
See the same provider through the template tag · Google docs