0% encontró este documento útil (0 votos)
45 vistas25 páginas

Django (6) Manejo de Formularios

Este documento describe el uso de formularios en Django para lograr interacción con el usuario. Explica que Django proporciona herramientas para manejar datos enviados por el usuario a través de formularios y responder de manera adecuada. Además, detalla cómo crear formularios basados en clases de Django o en modelos de datos, y cómo personalizar la apariencia y comportamiento de los campos de formulario.

Cargado por

ignacio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas25 páginas

Django (6) Manejo de Formularios

Este documento describe el uso de formularios en Django para lograr interacción con el usuario. Explica que Django proporciona herramientas para manejar datos enviados por el usuario a través de formularios y responder de manera adecuada. Además, detalla cómo crear formularios basados en clases de Django o en modelos de datos, y cómo personalizar la apariencia y comportamiento de los campos de formulario.

Cargado por

ignacio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

UD 5: Framework Django

para desarrollo de páginas


webs (8)

Félix Reyes Fernández


 Los formularios nos sirven para lograr interacción con el
usuario. En caso de no contar con esta funcionalidad,
nuestras páginas se convertirían en simples páginas estáticas
en las que sólo mostraríamos información.

 En Django tenemos una serie de herramientas y librerías para


ayudarnos a recibir estos datos por parte del usuario,
tratarlos adecuadamente y responder en caso de ser
necesario.

 https://docs.djangoproject.com/en/2.0/topics/forms/
 En Django, contamos con la clase Form, la cual
describe un formulario y determina cómo funciona
y cómo debe aparecer.

 Los campos de un formulario son por si mismos


clases, las cuales se encargan de manejar todo lo
referente al proceso y la validación del campo que
representan.

 Ejemplos de clases que podemos usar son FileField


y DateField.
 Vamos a crear nuestro formulario (forms.py)
 Ahora, vamos a configurar la vista para cargar
nuestro formulario
 Modificamos el fichero url de nucleo, para
poder atender a la petición correspondiente
 Cargamos nuestro formulario en el html
Se utiliza para
proporcionar la
seguridad de los
datos que se envían
 Ahora modificamos la vista
 Creamos la plantilla vacía, detectamos si se

ha enviado por POST algún dato, y si es así


rellenamos la plantilla con los campos
automáticamente
 Vamos al html de nuevo
 Problema: La maquetación por defecto no es la más visual
posible.
 Vamos a “dibujar” los campos manualmente, en lugar de que
Django los rellene de golpe
 De igual manera que accedemos a cada uno de los campos de
nuestro formulario, podemos acceder también a los
diferentes errores que genera la validación de estos campos.

 Será tarea del desarrollador situar los mensajes dentro de


cada una de las páginas, así como asignar el código CSS
específico que muestre los diferentes estilos para estos
bloques.
 Lo más normal es trabajar con aplicaciones basadas en una
estructura de base de datos donde encontramos los Modelos
usados para representar los datos.
 Django posee un sistema de creación de formularios basado
en los Modelos de nuestra aplicación.
 No hace falta que volvamos a definir los campos del
formulario ya que los tenemos codificados en la definición de
nuestros modelos.
 Creamos una vista que cargue el formulario
 Agregamos al url de nucleo la vista que acabamos de crear
 Ahora, el template correspondiente al formulario para crear la
empresa
 Tenemos dos “atajos” cuando queremos especificar todos los
campos de un modelo o excluir uno o algunos campos del
modelo
 Cada uno de los campos definidos en nuestro modelo tendrán
una representación gráfica específica.

 Por ejemplo, si tenemos un campo de tipo CharField, su


representación en HTML será un campo de texto (<input>) con
la longitud máxima que marque su definición.

 Los campos distintos son aquellos marcados con el tipo


ForeignKey o ManyToManyField, los cuales serán representados
por elementos HTML un poco más complejos.

 Los dos serán representados por elementos de selección,


pudiéndose seleccionar más de uno en caso de que el campo
sea de tipo ManyToManyField.
 Podemos sobreescribir el widget por defecto que se genera a partir
de los campos de nuestro Modelo.
 Para cada atributo podemos especificar qué elemento HTML
queremos que sea el que lo represente:
 Podemos especificar incluso otros campos como por ejemplo, label,
help_texts y error_messages. (Todas las posibilidades las podéis
encontrar en la documentación de Django).
 https://docs.djangoproject.com/en/2.0/topics/forms/
modelforms/#modelform

También podría gustarte