En este tutorial se muestra cómo se puede usar el formulario HTML para tomar datos del usuario, leer los valores de entrada e imprimir los valores en el navegador usando Django.
Requisitos previos:
Tienes que crear un proyecto Django antes de crear el formulario Django. Para crear un nuevo proyecto de Django e ir a la carpeta del proyecto, ejecute los siguientes comandos:
$ django-admin proyecto de inicio django_pro$ cd django_pro
Para crear los archivos necesarios y aplicar las migraciones para el proyecto, ejecute el siguiente comando:
$ python3 administrar.py migrarPara verificar si el servidor Django está funcionando correctamente o no, ejecute el siguiente comando:
$ python3 administrar.py runserverPara crear el formapp debajo django_pro proyecto, ejecute el siguiente comando:
$ python3 administrar.py startapp formappCrea un formulario HTML usando Django:
Abre el puntos de vista.py archivo que está dentro formapp carpeta y modificar su contenido con el siguiente contenido. El siguiente script comprobará si el formulario se envía o no. Si se envía el formulario, el valor del pedido.método será POST y pedido.CORREO.obtener() El método se utiliza para leer sus valores enviados. La es válido() La función comprobará si los datos del formulario son válidos o no. Si esta función devuelve verdadero, entonces se imprimirá en el navegador un mensaje de éxito con los datos válidos del usuario, de lo contrario, se mostrará el mensaje de error que aparece en el campo particular del formulario. Aparte de eso, el hacer() se utiliza para cargar el formulario en el navegador y HttpResponse () El método se utiliza para enviar la respuesta del servidor al navegador después de enviar el formulario.
# Importar módulos necesariosde django.importación de atajos render
de formapp.importación de formularios StudentForm
de django.http import HttpResponse
def form_request (solicitud):
# Verifique que el formulario esté enviado o no
si la solicitud.método == 'POST':
estudiante = StudentForm (solicitud.CORREO)
# Comprueba que los datos del formulario sean válidos o no
si estudiante.es válido():
# Leer los valores enviados
nombre = solicitud.CORREO.get ("nombre")
email = solicitud.CORREO.get ("correo electrónico")
nombre de usuario = solicitud.CORREO.get ("nombre de usuario")
# Fusionar los valores
data = ['Su registro se completó con éxito.
', 'Nombre nombre, '
',' Correo electrónico: ', correo electrónico,'
',' Nombre de usuario: ', nombre de usuario]
# Devuelve los valores del formulario como respuesta
devolver HttpResponse (datos)
demás:
# Mostrar el formulario html
estudiante = StudentForm ()
return render (solicitud, "formulario.html ", 'formulario': estudiante)
Crear formas.py dentro de formapp carpeta y agregue el siguiente contenido. El siguiente script creará un formulario de cuatro campos. La nombre El campo está definido para tomar los datos de los caracteres y puede tener 40 caracteres de largo. La Email El campo está definido para tomar cualquier dirección de correo electrónico válida utilizando los datos de caracteres y puede tener 50 caracteres de largo. La nombre de usuario El campo está definido para tomar los datos de los caracteres y puede tener 20 caracteres de longitud. La contraseña El campo está definido para tomar los datos de los caracteres y puede tener un mínimo de 10 caracteres y un máximo de 20 caracteres. La formas.Entrada de contraseña El widget se utiliza para el campo de contraseña para ocultar el contenido del campo de contraseña.
# Importar módulos de formulariodesde formularios de importación de django
# Crear clase para definir los campos del formulario
clase StudentForm (formularios.Formulario):
nombre = formas.CharField (label = "Nombre completo", max_length = 40)
email = formularios.EmailField (label = "Correo electrónico", max_length = 50)
nombre de usuario = formularios.CharField (label = "Nombre de usuario", max_length = 20)
contraseña = formularios.CharField (label = "Contraseña", min_length = 10, max_length = 20, widget = formularios.PasswordInput)
Crea una carpeta llamada plantillas dentro de formapp carpeta. Ve a la PLANTILLAS Sección de la configuración.py archivo y establezca la ubicación del plantilla carpeta para el DIRS propiedad.
ajustes.py
PLANTILLAS = ['DIRS': ['/ home / fahmida / django_pro / formapp / templates']
,
]
Crear formulario.html dentro de plantilla carpeta con el siguiente contenido.
% csrf_token% se utiliza en el script HTML para prevenir ataques CSRF (Cross-Site Request Forgeries). formulario.as_p cargará el formulario de Django que está diseñado por el formas.py expediente. Cuando el Enviar se presiona el botón, los datos del formulario se enviarán al servidor.
Abre el urls.py desde el django_pro carpeta y modificar el contenido con el siguiente contenido.
Aquí el 'Registrarse/' La ruta se usa para cargar el formulario en el navegador.
# Importar módulos necesariosde django.ruta de importación de URL
desde vistas de importación de formapp
# Método de llamada para mostrar el formulario
urlpatterns = [
ruta ('registrar /', vistas.form_request)
]
Abra cualquier navegador y escriba la siguiente URL para cargar el formulario de registro de usuario en el navegador.
http: // localhost: 8000 / registrarse
La siguiente salida aparecerá después de ejecutar la URL. La validación del campo vacío, el valor de longitud máxima de los campos de nombre, correo electrónico y contraseña, y los valores de longitud mínima y máxima del campo de contraseña se comprobarán después de enviar el formulario.
El siguiente resultado muestra que el campo de contraseña no es válido. Según el formulario, la longitud del valor de la contraseña debe estar entre 10 y 20 caracteres. Se han introducido 5 caracteres como entrada en el siguiente formulario. Para esto, el formulario muestra el mensaje de error.
Después de ingresar la salida válida en cada campo del formulario, aparecerá la siguiente salida.
Conclusión:
La forma de crear un formulario de registro de usuario muy simple en la aplicación Django se ha mostrado en este tutorial. Django tiene muchos métodos para crear diferentes tipos de campos del formulario, como CharField (), EmailField (), TextFiled, etc. La tarea de validación del formulario se vuelve mucho más fácil cuando el formulario está diseñado por Django form.