Los formularios en django
Publicado en Python el 5 de August, 2010 por Fran. (1 comentario)Después de ver las vistas de django y los modelos de django, toca ver cómo crear formularios web para poder interactuar con los datos de la aplicación.
La clase Forms de django
Los formularios en django son clases que heredan la clase Forms del módulo django.forms, las partes más interesantes de este módulo son los:
- Widgets: son los elementos que forman un formulario, por ejemplo: un cuadro para la introducción de texto (
<input type="text">). - Campos: Son clases que representan el tipo de datos que tendrán las diferentes partes del formulario, de modo que al enviar el formulario se validarán que se introducirán ese tipo de datos. Por ejemplo:
CharFieldindicará un campo de texto (como se puede ver es similar a los datos de los modelos).
Además, los campos se transforman automáticamente en widgets que tienen asociados de forma predeterminada, o indicándoles el widget que se quiere usar.
En el caso que se ha venido realizando en estos posts, un formulario para introducir los datos del usuario podría ser:
# forms.py
#-*- coding: utf-8 -*-
from django import forms
class FormularioUsuario (forms.Form):
"""Formulario para guardar un usuario en la base de datos."""
nombre = forms.CharField (max_length=40)
apellidos = forms.CharField (max_length=40)
email = forms.EmailField ()
Este formulario se podrá utilizar en la vista correspondiente de modo que cualquiera pueda introducir los datos de un usuario y que la vista los procese para guardarlos en la base de datos.