Built-in views¶
- class django_contact_form.views.ContactFormView¶
The base view class from which most custom contact-form views should inherit. If you don’t need any custom functionality, and are content with the default
ContactForm
class, you can also use it as-is (and the provided URLConf, django_contact_form.urls, does exactly this).This is a subclass of Django’s
FormView
, so refer to the Django documentation for a list of attributes/methods which can be overridden to customize behavior.One non-standard attribute is defined here:
- recipient_list¶
The list of email addresses to send mail to. If not specified, defaults to the
recipient_list
of the form.
Additionally, the following standard (from
FormView
) methods and attributes are commonly useful to override (all attributes below can also be passed toas_view()
in the URLconf, permitting customization without the need to write a full custom subclass ofContactFormView
):- form_class¶
The form class to use. By default, will be
ContactForm
. This can also be overridden as a method namedform_class()
; this permits, for example, per-request customization (by inspecting attributes of self.request).
- template_name¶
A
str
, the template to use when rendering the form. By default, will be django_contact_form/contact_form.html.
- get_success_url()¶
The URL to redirect to after successful form submission. Can be a hard-coded string, the string resulting from calling Django’s
reverse()
helper, or the lazy object produced by Django’sreverse_lazy()
helper. Default value is the result of callingreverse_lazy()
with the URL name ‘django_contact_form_sent’.- Return type
str
- get_form_kwargs()¶
Returns additional keyword arguments (as a dictionary) to pass to the form class on initialization.
By default, this will return a dictionary containing the current
HttpRequest
(as the key request) and, ifrecipient_list
was defined, its value (as the key recipient_list).Warning
If you override
get_form_kwargs()
, you must ensure that, at the very least, the keyword argument request is still provided, orContactForm
initialization will raiseTypeError
. The easiest approach is to usesuper()
to call the base implementation inContactFormView
, and modify the dictionary it returns.- Return type
dict