Read the documentation

Nonenone

Renders a hidden field and accepts everything. For development and tests. Rendered through CaptchaField("none"), 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("none")

The POST field this widget submits is named by the service, not by the form. Look at the request payload: the value arrives under none's own field name, and the widget finds it anyway.

See the same provider through the template tag · Package docs