Built-in views¶
-
class
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 just use it as-is (and the provided URLConf,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:-
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 ofself.request
).
-
template_name
¶ The template to use when rendering the form. By default, will be
contact_form/contact_form.html
.
-
get_success_url
()¶ The URL to redirect to after successful form submission. By default, this is the named URL
contact_form.sent
. In the default URLconf provided withdjango-contact-form
, that URL is mapped toTemplateView
rendering the templatecontact_form/contact_form_sent.html
.
-
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 keyrequest
) and, ifrecipient_list
was defined, its value (as the keyrecipient_list
).Warning
If you override
get_form_kwargs()
, you must ensure that, at the very least, the keyword argumentrequest
is still provided, orContactForm
initialization will raiseTypeError
. The simplest approach is to usesuper()
to call the base implementation inContactFormView
, and modify the dictionary it returns.
-