Módulo: Formularios
Este módulo forma parte del curso de Django. Incluye 3 lecciones .
Formularios
El módulo de formularios abarca el sistema completo de manejo de datos de entrada en Django: desde la clase Form y ModelForm hasta la validación avanzada, los widgets personalizados, los formsets y la subida de archivos.
Form y ModelForm
Django proporciona dos clases base para formularios. Form define los campos manualmente, mientras que ModelForm los genera automáticamente a partir de un modelo. La clase interna Meta controla qué campos incluir, los widgets y las etiquetas.
class ProductoForm(forms.ModelForm):
class Meta:
model = Producto
fields = ['nombre', 'precio', 'categoria']
widgets = {
'nombre': forms.TextInput(attrs={'class': 'form-control'}),
}
Validación
La validación opera en múltiples niveles: validadores de campo (clean_nombre()), validación cruzada entre campos en el método clean(), y validadores reutilizables con RegexValidator y MinValueValidator. El método is_valid() ejecuta todos los niveles y almacena los errores en form.errors.
Widgets personalizados
Los widgets controlan el HTML renderizado para cada campo. Django incluye DateInput, Select, CheckboxSelectMultiple y muchos más. Es posible crear widgets personalizados extendiendo Widget o MultiWidget para casos más complejos.
Formsets
Los formsets gestionan múltiples instancias de un mismo formulario: formset_factory para Form y modelformset_factory o inlineformset_factory para modelos. Son ideales para editar colecciones de objetos relacionados en una sola página.
Otros módulos de este curso
Formularios
Lecciones de este módulo
Explora todas las lecciones disponibles en Formularios
Todos los módulos del curso
Navega entre los módulos de Django
Formularios
Estás aquíExplora más sobre Django
Descubre más recursos de Django
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Django es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.