Aprender Django Formularios

Módulo del curso de Django

Django
Django
Módulo del curso
3 lecciones
Actualizado: 18/04/2026

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.

Lecciones de este módulo

Explora todas las lecciones disponibles en Formularios

Explora más sobre Django

Descubre más recursos de Django

Alan Sastre - Autor del curso

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.