Cómo crear vistas de Django?

Cómo crear vistas de Django?
Diferentes tipos de datos de la aplicación Django, como contenido HTML, datos XML, datos JSON, imagen, error 404, etc. se transfieren a la plantilla a través de Django View. Cada vista se crea para un propósito específico y se asocia con una plantilla particular. Los datos de la vista se pueden generar desde el usuario a través del formulario HTML o desde la base de datos o la lógica comercial. Las vistas de Django se pueden crear utilizando un método de clase Python o función de Python. Las vistas basadas en clases contienen muchas funcionalidades en comparación con las vistas basadas en funciones. Para esto, la mayoría de las aplicaciones Django utilizan vistas basadas en clases para representar los datos de la aplicación Django. Las formas de crear la vista basada en funciones y la vista basada en clases se han explicado en este tutorial.

Prerrequisitos:

Antes de practicar los ejemplos de este tutorial, debe completar las siguientes tareas:

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

Configurar una aplicación Django:

A. Para crear una aplicación Django llamada ViewApp, ejecute el siguiente comando:

$ python3 gestionar.Py StartApp ViewApp

B. Para crear el usuario para acceder a la base de datos Django, ejecute el siguiente comando. Si ha creado el usuario antes, omita esta parte:

$ python3 gestionar.py createuperuser

C. Agregue el nombre de la aplicación en la parte Installed_App de la configuración.archivo py.

Instalado_apps = [

'ViewApp'
]

D. Crea una carpeta llamada plantillas dentro de ViewApp carpeta y configure el plantillas ubicación de la aplicación en el PLANTILLAS parte de ajustes.py archivo.

Plantillas = [

… .
'Dirs': ['/home/fahmida/django_pro/viewapp/plantlates']],
… .
,
]

Cree una vista simple basada en funciones:

Abre el puntos de vista.py archivo del ViewApp carpeta y reemplace el contenido de este archivo con el siguiente script. índice() La función se usa en el script para crear el contenido HTML que se enviará al navegador utilizando el Httpresponse () método. Aquí, la fecha y hora actuales del sistema se leerán utilizando el hoy () La función y el valor de fecha actual se generará antes de enviar al navegador.

Puntos de vista.py

# Importar el módulo de fecha para leer la fecha actual
desde la fecha de importación de fecha y hora
# Importar el módulo HTTPResponse para enviar datos de la vista a la plantilla
de Django.http import httpresponse
# Definir la función para crear una vista basada en funciones
Índice de def (solicitud):
# Lea la fecha actual
hoy = fecha.hoy()
# Establecer datos estáticos para la vista
contenido = "

Bienvenido a Linuxhint

"
contenido + = "Hoy es" + hoy.strftime ("%b") + "" + hoy.strftime ("%d") + "," + str (hoy.año) + "

"
# Envió el contenido al navegador
return httpresponse (contenido)

Modificar el contenido del URLS.py Archivo con el siguiente script. En el guión, el 'bienvenido/' la ruta se define para llamar al índice() función que enviará el contenido HTML al archivo de plantilla.

URLS.py

# Módulo de ruta de importación
de Django.ruta de importación de URLS
# Módulo de vista de importación
Desde las vistas de importación de ViewApp
# Método de índice de llamadas para mostrar el contenido
urlpatterns = [
# Definir la función de ruta para llamar index ()
Path ('Bienvenido/', Vistas.índice)
]

Ejecute la siguiente URL desde el navegador que mostrará la siguiente salida. Un texto principal formateado y el valor de fecha actual se muestran en la salida.

http: // localhost: 8000/bienvenido/

Cree una vista simple basada en clases:

Crear un Vistas2.py Archivo dentro de la carpeta ViewApp y agregue el siguiente script. Mi vista La clase se define en el script que contiene un método nombrado conseguir(). Una variable de lista nombrada datos de listas se declara en el script para crear una lista de 10 números aleatorios. Los valores de la lista se pasarán a la plantilla a través del Httpresponse () método cuando se llama a esta vista. lo aleatorio El módulo se ha utilizado en el script para generar un número entero aleatorio en cada iteración de la para bucle usando el randint () función.

Vistas2.py

# Importar el módulo HTTPResponse para enviar datos de la vista a la plantilla
de Django.http import httpresponse
# Módulo de vista de importación
de Django.Vistas Vista de importación
# Importar módulo aleatorio
importar al azar
# Definir clase para vistas basadas en clases
Clase MyView (Ver):
Def Get (Self, solicitud):
# Declarar la variable de lista
listData = []
# Agregue el primer elemento de la lista
datos de listas.adjuntar('

La lista de 10 números aleatorios es:

')
# Iterar el bucle por 10 veces
para n en el rango (10):
# Generar un número aleatorio dentro de 1 a 50
random_number = aleatorio.Randint (1, 50)
# Agregue el número aleatorio en la lista
datos de listas.append (random_number)
# Agregue un elemento de descanso en la lista
datos de listas.adjuntar('
')
# Agregue el último elemento de la lista
datos de listas.adjuntar('')
# Enviar los valores de la lista al navegador
return httpresponse (listData)

Modificar el contenido del URLS.py Archivo con el siguiente script. En el guión, el "número/"La ruta se define para llamar al Mi vista.as_view () método que enviará los datos de la lista al archivo de plantilla.

URLS.py

# Módulo de ruta de importación
de Django.ruta de importación de URLS
# Módulo de vista de importación
Desde las vistas de importación de ViewApp
# Importar clase myView
Desde ViewApp.vistas2 import myView
# Llame al método Get de la clase myView
urlpatterns = [
# Definir la función de ruta para llamar index ()
Path ('Bienvenido/', Vistas.índice),
# Defina el camino para llamar a myView.método as_view ()
ruta ('número/', myView.as_view ()),
]

Ejecute la siguiente URL desde el navegador que mostrará la siguiente salida. Los números de la salida se cambiarán si la página se actualiza porque cada número de la lista se generará aleatoriamente.

http: // localhost: 8000/número/

Conclusión:

La salida de la aplicación web depende del script del archivo de vista que es una parte importante de cualquier aplicación web. Las vistas basadas en funciones se utilizan principalmente en la versión temprana de la aplicación Django y ahora los VIE basados ​​en clases se utilizan en la mayoría de las aplicaciones de Django. Las formas de crear ambos tipos de vistas se han mostrado en este tutorial para ayudar a los nuevos usuarios de Django a crear sus vistas en función de su aplicación.