Los siguientes mixinas se utilizan para construir las vistas de edición de Django:
Nota
Ejemplos de cómo estas se combinan en vistas de edición se pueden encontrar en la documentación sobre Los textos editores genericos.
FormMixin¶Una clase mixina que proporciona facilidades para crear y mostrar formularios.
Mixins
Métodos y Atributos
Un diccionario que contiene los datos iniciales para el formulario.
La clase de formulario a instanciar.
La URL a la que redirigir cuando el formulario se procesa correctamente.
Recuperar los datos iniciales para el formulario. Por defecto, devuelve una copia de initial.
Recuperar la clase de formulario a instanciar. Por defecto form_class.
Instancia un objeto de form_class utilizando get_form_kwargs(). Si no se proporciona form_class, se utilizará get_form_class().
Construye los argumentos clave necesarios para instanciar el formulario.
El argumento initial se establece en get_initial(). Si la solicitud es un POST o PUT, también se proporcionarán los datos de la solicitud (request.POST y request.FILES).
Determina el prefijo (prefix) para el formulario generado. Por defecto devuelve prefix.
Determine la URL a la que redirigir cuando el formulario se valida correctamente con éxito. Devuelve por defecto success_url.
Redirecciona a get_success_url().
Rendere una respuesta, proporcionando el formulario inválido como contexto.
Llama a get_form() y agrega el resultado al contexto de datos con el nombre “form”.
ModelFormMixin¶Un mixin de formularios que proporciona facilidades para trabajar con un ModelForm, en lugar de un formulario independiente.
Dado que este es una subclase de SingleObjectMixin, las instancias de este mixin tienen acceso a los atributos model y queryset, que describen el tipo de objeto con el que se está manipulando el ModelForm.
Si especificas tanto los atributos fields como form_class, se levantará una excepción ImproperlyConfigured.
Mixins
Métodos y Atributos
Una clase de modelo. Puede proporcionarse explícitamente, de lo contrario se determinará examinando self.object o queryset.
Una lista de nombres de campos. Se interpreta de la misma manera que el atributo Meta.fields de ModelForm.
Este es un requerido si estás generando la clase de formulario automáticamente (por ejemplo, utilizando model). Omitir este atributo dará como resultado una excepción ImproperlyConfigured.
La URL a la que redirigir cuando el formulario se procesa correctamente.
Puede contener formato de cadena de diccionario, que se interpolará contra los atributos del campo del objeto. Por ejemplo, podrías utilizar success_url="/polls/{slug}/" para redirigir a una URL compuesta por el campo slug en un modelo.
Recupera la clase de formulario para instanciarla. Si se proporciona form_class, esa clase se utilizará. De lo contrario, se instanciará un ModelForm utilizando el modelo asociado con el queryset o con el model, dependiendo de cuál de los atributos esté proporcionado.
Agrega la instancia actual (self.object) a las claves de formulario estándar del get_form_kwargs().
Determina la URL para redirigir cuando el formulario se valide correctamente. Devuelve django.views.generic.edit.ModelFormMixin.success_url si está proporcionado; en caso contrario, intenta utilizar get_absolute_url() del objeto.
Guarda la instancia de formulario, establece el objeto actual para la vista y redirige a get_success_url().
Rendere una respuesta, proporcionando el formulario inválido como contexto.
ProcessFormView¶Un mixin que proporciona flujo básico HTTP GET y POST.
Nota
Se llama “ProcessFormView” e hereda directamente de django.views.generic.base.View, pero se rompe si se utiliza independientemente, por lo que es más un mixin.
Extiende
Métodos y Atributos
Renders a respuesta utilizando un contexto creado con get_context_data().
Construye un formulario, verifica la validez del formulario y maneja según corresponda.
DeletionMixin¶Habilita el manejo de la acción HTTP DELETE.
Métodos y Atributos
La URL a redirigir cuando el objeto nominado ha sido eliminado con éxito.
success_url puede contener formato de cadena de diccionario, que se interpolará contra las atributos de campo del objeto. Por ejemplo, podrías utilizar success_url="/padre/{parent_id}/" para redirigir a una URL compuesta por el campo parent_id en un modelo.
Recupera el objeto objetivo y llama al método delete() de este, luego redirige a la URL de éxito.
Devuelve la URL a redirigir cuando el objeto nominado ha sido eliminado con éxito. Devuelve success_url por defecto.
may 31, 2026