Los formularios de Django son una forma poderosa de manejar la entrada del usuario, validándola y transformándola en objetos Python que luego se pueden utilizar en otras partes de la aplicación.
Para usar los formularios de Django, primero debes importar la clase `Form` del módulo `django.forms`. Luego, puedes crear tu propio formulario personalizado heredando de la clase `Form`. Dentos de la clase del formulario puedes definir los diferentes campos que necesitas. Por ejemplo:
```python
from django import forms
class ContactForm(forms.Form):
nombre = forms.CharField(max_length=100)
mensaje = forms.CharField(widget=forms.Textarea)
email = forms.EmailField()
```
Aquí hemos definido un formulario para recoger los datos de un mensaje de contacto: un nombre, un correo electrónico y un mensaje. A cada campo le puedes asignar diferentes tipos y parámetros, como máximo de caracteres, si es un campo de email, entre otros.
Una vez hemos definido el formulario, podemos utilizarlo en nuestras vistas para recoger los datos del formulario HTML y utilizarlos en nuestra aplicación. Por ejemplo, podemos utilizar el formulario para enviar un correo electrónico con el mensaje de contacto.
```python
from django.core.mail import send_mail
from django.http import HttpResponseRedirect
def contact_view(request): if request.method == ‘POST’: form = ContactForm(request.POST) if form.is_valid(): send_mail( ‘Mensaje de Contacto’, form.cleaned_data[‘mensaje’], form.cleaned_data[‘email’], [‘destinatario@example.com’], ) return HttpResponseRedirect(‘/gracias/’) else: form = ContactForm()
return render(request, ‘contacto.html’, {‘form’: form}) ``` En este ejemplo, primero chequeamos si la petición es de tipo ‘POST’, en cuyo caso recogemos los datos del formulario y verificamos si son válidos. Si son validos, enviamos un correo electrónico con el contenido del mensaje y luego redirigimos al usuario a una página de agradecimiento. Si la petición no es de tipo ‘POST’ o si los datos del formulario no son válidos, simplemente mostramos el formulario.Estos son los pasos básicos para usar los formularios de Django. Hay mucho más que puedes hacer, como utilizar formularios para crear o editar objetos de tu modelo directamente, utilizar formularios con múltiples pasos, personalizar la renderización del formulario, entre otros.
Fuentes:
1. Documentación oficial de Django. “Working with forms”. https://docs.djangoproject.com/en/3.1/topics/forms/
2. Mozilla Developer Network. “Django Forms”. https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Forms.