The following mixins are used to construct Django’s editing views:
Note
Examples of how these are combined into editing views can be found at the documentation on Generic editing views.
A mixin class that provides facilities for creating and displaying forms.
Methods and Attributes
A dictionary containing initial data for the form.
The form class to instantiate.
The URL to redirect to when the form is successfully processed.
Retrieve initial data for the form. By default, returns a copy of initial.
Retrieve the form class to instantiate. By default form_class.
Instantiate an instance of form_class using get_form_kwargs().
Build the keyword arguments required to instantiate the form.
The initial argument is set to get_initial(). If the request is a POST or PUT, the request data (request.POST and request.FILES) will also be provided.
Determine the URL to redirect to when the form is successfully validated. Returns success_url by default.
Redirects to get_success_url().
Renders a response, providing the invalid form as context.
Populates a context containing the contents of kwargs.
Context
Note
Views mixing FormMixin must provide an implementation of form_valid() and form_invalid().
A form mixin that works on ModelForms, rather than a standalone form.
Since this is a subclass of SingleObjectMixin, instances of this mixin have access to the model and queryset attributes, describing the type of object that the ModelForm is manipulating. The view also provides self.object, the instance being manipulated. If the instance is being created, self.object will be None.
Mixins
Methods and Attributes
The URL to redirect to when the form is successfully processed.
success_url may contain dictionary string formatting, which will be interpolated against the object’s field attributes. For example, you could use success_url="/polls/%(slug)s/" to redirect to a URL composed out of the slug field on a model.
Retrieve the form class to instantiate. If FormMixin.form_class is provided, that class will be used. Otherwise, a ModelForm will be instantiated using the model associated with the queryset, or with the model, depending on which attribute is provided.
Add the current instance (self.object) to the standard FormMixin.get_form_kwargs().
Determine the URL to redirect to when the form is successfully validated. Returns ModelFormMixin.success_url if it is provided; otherwise, attempts to use the get_absolute_url() of the object.
Saves the form instance, sets the current object for the view, and redirects to get_success_url().
Renders a response, providing the invalid form as context.
A mixin that provides basic HTTP GET and POST workflow.
Note
This is named ‘ProcessFormView’ and inherits directly from django.views.generic.base.View, but breaks if used independently, so it is more of a mixin.
Extends
Methods and Attributes
Constructs a form, then renders a response using a context that contains that form.
Constructs a form, checks the form for validity, and handles it accordingly.
The PUT action is also handled, as an analog of POST.
Enables handling of the DELETE http action.
Methods and Attributes
The url to redirect to when the nominated object has been successfully deleted.
Returns the url to redirect to when the nominated object has been successfully deleted. Returns success_url by default.
Dec 23, 2012