17.5 Vistas en Django: Trabajar con formularios

Las vistas en Django son una parte esencial del desarrollo de aplicaciones web con el marco Django. Son responsables de procesar solicitudes HTTP y proporcionar respuestas HTTP. Una de las funciones más comunes de las vistas es trabajar con formularios.

Los formularios son una parte fundamental de las aplicaciones web. Permiten a los usuarios interactuar con la aplicación enviando datos que pueden ser procesados ​​por el servidor. En Django, trabajar con formularios se realiza principalmente a través de vistas.

Creando formularios con Django

Django proporciona una poderosa abstracción para trabajar con formularios: la clase Form. Esta clase le permite definir los campos del formulario, sus validaciones y cómo deben representarse.

Para crear un formulario con Django, debe crear una subclase de Formulario y definir los campos que desea en el formulario. Cada campo es una instancia de una clase Field, que define el tipo de datos del campo y cómo se debe validar y representar.

Formulario de ejemplo

    
    desde formularios de importación de Django

    clase Formulario de contacto (formularios.Formulario):
        nombre = formularios.CharField(max_length=100)
        correo electrónico = formularios.EmailField()
        mensaje = formularios.CharField(widget=formularios.Textarea)
    
    

Trabajar con formularios en vistas

Una vez que define un formulario, puede usarlo en una vista para procesar solicitudes HTTP. La vista debe verificar si la solicitud es POST o GET. Si es un POST, la vista debe crear una instancia del formulario con los datos POST, validar el formulario y, si es válido, procesar los datos. Si es un GET, la vista debería crear una instancia vacía del formulario y representarlo.

Ejemplo de Vista con Formulario

    
    desde django.shortcuts importar render
    desde .forms importar formulario de contacto

    contacto def (solicitud):
        si solicitud.método == 'POST':
            formulario = Formulario de contacto (solicitud.POST)
            si form.is_valid():
                # procesar los datos
                aprobar
        demás:
            formulario = Formulario de contacto()
        devolver render(solicitud, 'contacto.html', {'formulario': formulario})
    
    

Representación de formularios

Django proporciona varias formas de representar formularios. Puede representar el formulario como un todo, representar campos individuales o representar el formulario manualmente. La representación del formulario se realiza en la plantilla, no en la vista.

Ejemplo de representación de formulario

    
    <método de formulario="publicación">
        {% csrf_token %}
        {{ formulario.as_p }}
        <tipo de entrada="enviar" valor="Enviar">
    </formulario>
    
    

Trabajar con formularios en Django puede parecer complejo a primera vista, pero una vez que comprendas el flujo de trabajo, descubrirás que Django proporciona una forma muy poderosa y flexible de manejar formularios.

Conclusión

Las vistas en Django juegan un papel crucial en el manejo de formularios. Le permiten procesar datos del formulario, validarlos y devolver respuestas apropiadas al usuario. Con la práctica, te sentirás más cómodo trabajando con formularios y vistas en Django.

Ahora responde el ejercicio sobre el contenido:

_¿Cuál es la función de las Vistas en Django en el desarrollo de aplicaciones web?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Vistas en Django: Validación de datos

Siguiente página del libro electrónico gratuito:

97Vistas en Django: Validación de datos

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.