13.8. Creando un proyecto Django: formularios y validación

Página 66

Una de las características principales de Django es la capacidad de crear formularios dinámicos y eficientes para recopilar y procesar datos de los usuarios. En esta sección de nuestro curso sobre creación de sistemas con Python y Django, aprenderemos cómo crear un proyecto Django que implica crear formularios y validar datos.

13.8.1. Creando tu primer formulario Django

Para comenzar, creemos un nuevo archivo en nuestra aplicación Django llamado 'forms.py'. En este archivo, vamos a definir nuestro primer formulario Django. Django proporciona una clase 'forms.Form' que podemos usar como base para nuestros formularios. A continuación se muestra un ejemplo de cómo podemos definir un formulario simple:

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)

En este ejemplo, definimos un formulario de contacto con tres campos: nombre, correo electrónico y mensaje. Cada campo se define utilizando una clase de campo específica de Django, como 'forms.CharField' o 'forms.EmailField'.

13.8.2. Representando su formulario en la plantilla

Una vez que haya definido su formulario, deberá representarlo en una plantilla para que los usuarios puedan interactuar con él. Esto se puede hacer pasando una instancia de su formulario al contexto de la plantilla y luego usando la etiqueta de plantilla 'formulario' para representar el formulario. Aquí tienes un ejemplo de cómo puedes hacer esto:

contacto def (solicitud):
    formulario = Formulario de contacto()
    devolver render(solicitud, 'contacto.html', {'formulario': formulario})

Y en la plantilla 'contact.html', puedes representar el formulario así:


    {% csrf_token %}
    {{ formulario.as_p }}
    Enviar

13.8.3. Procesamiento de datos del formulario

Cuando un usuario envía un formulario, los datos del formulario se envían al servidor como una solicitud POST. Puede acceder a estos datos en Django utilizando el atributo 'request.POST'. A continuación se muestra un ejemplo de cómo puede procesar los datos del formulario en su vista:

contacto def (solicitud):
    si solicitud.método == 'POST':
        formulario = Formulario de contacto (solicitud.POST)
        si form.is_valid():
            nombre = formulario.cleaned_data['nombre']
            correo electrónico = formulario.cleaned_data['correo electrónico']
            mensaje = formulario.cleaned_data['mensaje']
            # Procesar los datos del formulario...
    demás:
        formulario = Formulario de contacto()
    devolver render(solicitud, 'contacto.html', {'formulario': formulario})

13.8.4. Validando datos del formulario

Una de las principales ventajas de utilizar formularios Django es que pueden manejar la validación de datos por usted. Cuando llamas al método 'is_valid()' en un formulario, Django verifica cada campo del formulario para garantizar que los datos enviados sean válidos. Si alguno de los campos no es válido, Django agregará un error al formulario que podrás mostrar en tu plantilla.

Además de las comprobaciones de validación estándar proporcionadas por Django, también puedes agregar tus propias comprobaciones de validación personalizadas. Para hacer esto, puede agregar un método a su formulario que comience con 'clean_' seguido del nombre del campo que desea validar. Aquí tienes un ejemplo:

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

    def clean_email(yo):
        correo electrónico = self.cleaned_data.get('correo electrónico')
        si "hotmail.com" en el correo electrónico:
            elevar formularios.ValidationError ("Utilice una dirección de correo electrónico diferente").
        devolver el correo electrónico

En este ejemplo, hemos agregado una verificación de validación personalizada al campo de correo electrónico para garantizar que el usuario no esté usando una dirección de correo electrónico de Hotmail.

En resumen, crear formularios y validar datos son partes esenciales de cualquier aplicación web. Afortunadamente, Django hace que este proceso sea muy fácil con sus potentes funciones de formulario.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es una de las características clave de Django mencionadas en el texto?

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

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

6713.9. Crear un proyecto Django: autenticar usuarios

¡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.