Django

Validación de formularios en Django

Validación de formularios en Django

La validación de formularios es una tarea muy importante para que cualquier aplicación web ingrese datos válidos en la base de datos. Los usuarios de la aplicación no podrán insertar datos inválidos si los datos del formulario se validan antes de enviar. Django se llama marco basado en MVT (Model View Template) donde la tarea del controlador es realizada por este marco en sí. Las tareas relacionadas con la base de datos las realiza Model y los datos se presentan a la plantilla usando View. Los campos de un formulario se generan en función del modelo particular que insertará datos en la base de datos de Django después de la validación. Un tipo de validación lo realiza el navegador en función del tipo de campo que se define en el modelo. Utilizando la es válido() La función es otra forma de verificar los datos del formulario si son válidos o no después de enviar el formulario. Este tutorial le mostrará cómo se pueden insertar los datos en la base de datos de Django después de validar el formulario.

Prerrequisitos

Antes de practicar el guión de este tutorial, debe completar las siguientes tareas:

  1. Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
  2. Crea un proyecto de Django
  3. Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.

Configurar una aplicación Django

1. Ejecute el siguiente comando para crear una aplicación Django llamada validationapp.

$ python3 administrar.py startapp validationapp

2. Ejecute el siguiente comando para crear el usuario que se utiliza para acceder a la base de datos de Django. Si ha creado el usuario antes, no necesita ejecutar el comando.

$ python3 administrar.py crea superusuario

3. Agregue el nombre de la aplicación en el INSTALLED_APP parte de py expediente.

INSTALLED_APPS = [
..
'validationapp'
]

4. Crea una carpeta llamada plantillas dentro de validationapp carpeta y configure el plantillas ubicación de la aplicación en el PLANTILLAS parte de py expediente.

PLANTILLAS = [

.. .
'DIRS': ['/ home / fahmida / django_pro / validationapp / templates'],
.. .
,
]

Validación de formularios de Django

Debe escribir el código de los siguientes archivos para verificar la tarea de validación del formulario en Django.

Crea el modelo

Abre el modelos.py archivo de la carpeta de la aplicación y agregue el siguiente script para crear la estructura del clientes mesa. La tabla contendrá cuatro campos. Estos son full_name, email, contact_no y customer_type. Aquí, el customer_type se crea por tipo de selección. Eso significa que el usuario debe seleccionar cualquier valor de la lista desplegable.

modelos.py

# Importar modelos
de django.modelos de importación de db
# Definir clase para la entrada de clientes
clase Cliente (modelos.Modelo):
# Definir valores para el tipo de cliente
tipo = (
('pagado', 'pagado'),
('gratis gratis')
)
# Definir los campos para la tabla de clientes
full_name = modelos.CharField (longitud_máxima = 50)
email = modelos.EmailField ()
contact_no = modelos.CharField (longitud_máxima = 20)
customer_type = modelos.CharField (max_length = 32, opciones = tipo, predeterminado = 'gratis')

Registrar el modelo

Agregue el siguiente script en el administrador.py archivo para registrar el Cliente modelo en la base de datos de Django para acceder al clientes tabla del panel administrativo de Django.

administración.py

# Importar módulo de administración
de django.administrador de importación de contribuciones
# Importar modelo de cliente
de .importación de modelos Cliente
# Registrar modelo de cliente
administración.sitio.registrarse (cliente)

Crear formas.py dentro de la carpeta de la aplicación y agregue el siguiente script para definir la clase para crear el formulario basado en los campos mencionados de el cliente modelo.

formas.py

# Módulo de importación de formularios
desde formularios de importación de django
# Modelo de cliente de importación
de validationapp.importación de modelos Cliente
# Definir la clase para el formulario de cliente
clase CustomerForm (formularios.ModelForm):
clase Meta:
modelo = Cliente
fields = ('full_name', 'email', 'contact_no', 'customer_type')

Crear plantilla

Crea un archivo HTML llamado cliente.html con el siguiente script para mostrar el formulario previamente diseñado con el Ahorrar botón.

cliente.html





Formulario de registro de usuario


Formulario de entrada de cliente

% csrf_token%
formulario.as_p



Insertar datos después de la validación del formulario

Modificar el contenido del puntos de vista.py archivo con el siguiente script. AddCustomer () La función se utiliza en el script para insertar un nuevo registro en el clientes tabla después de validar el formulario. Si el formulario no se envía, el formulario se cargará utilizando el cliente.html expediente. Si el formulario se envía con los datos válidos, se insertará un nuevo registro utilizando el ahorrar() función y se imprimirá un mensaje de éxito en el navegador con la opción de agregar otro registro.

puntos de vista.py

# Importar módulo HttpResponse
de django.http.importación de respuesta HttpResponse
# Importar módulo de renderizado
de django.importación de atajos render
# Importar CustomerForm
de validationapp.importación de formularios CustomerForm
# Definir función para agregar entrada de cliente
def AddCustomer (solicitud):
si la solicitud.método == "POST":
formulario = CustomerForm (solicitud.CORREO)
# Si los datos del formulario son válidos o no
si forma.es válido():
intentar:
# Guarde los datos del formulario en la base de datos
formulario.ahorrar()
# Definir el mensaje para el usuario
datos = ['

Los datos del cliente insertados correctamente.


Agrega otro']
# Devuelve la respuesta
devolver HttpResponse (datos)
excepto:
aprobar
demás:
# Definir el objeto de formulario
formulario = CustomerForm ()
# Muestre el formulario de entrada de cliente
return render (solicitud, 'cliente.html ', ' formulario ': formulario)

Modificar el urls.py archivo del proyecto Django con el siguiente script. Se han definido dos rutas en el script. 'cliente/' La ruta se utilizará para mostrar el formulario para agregar los nuevos registros de clientes. La 'administración/' La ruta se utilizará para mostrar el panel de administración de Django.

urls.py

# Importar módulo de administración
de django.administrador de importación de contribuciones
# Módulo de ruta de importación
de django.ruta de importación de URL
# Vista de importación
desde las vistas de importación de validationapp
# Definir ruta para cliente y administrador
urlpatterns = [
ruta ('cliente /', vistas.AddCustomer),
ruta ('admin /', admin.sitio.urls)
]

Ejecute el servidor Django y ejecute la siguiente URL desde el navegador para mostrar el formulario de entrada del cliente. Si el Ahorrar se presiona el botón sin agregar ningún dato en el formulario, luego aparecerá la siguiente página con errores para mantener los campos obligatorios vacíos.

Si los datos no válidos están configurados para el campo de correo electrónico, aparecerá el siguiente error.

La siguiente información aparecerá si el formulario se envía con datos válidos. Si el usuario hace clic en el 'Agrega otro' enlace, el formulario aparecerá nuevamente para insertar datos para el siguiente registro.

Conclusión

La forma de validar un formulario Django se mostró en este tutorial mediante la creación de una aplicación Django simple. Dicha aplicación ayudará a los desarrolladores de Django a comprender la importancia de la validación de formularios y podrán hacerlo correctamente.

Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...
Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...
OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...