Django - Creación de vistas

Una función de vista, o "vista" para abreviar, es simplemente una función de Python que toma una solicitud web y devuelve una respuesta web. Esta respuesta puede ser el contenido HTML de una página web, o una redirección, o un error 404, o un documento XML, o una imagen, etc. Ejemplo: utiliza la vista para crear páginas web, tenga en cuenta que debe asociar una vista a una URL para verla como una página web.

En Django, las vistas deben crearse en el archivo views.py de la aplicación.

Vista simple

Crearemos una vista simple en myapp para decir "¡bienvenido a mi aplicación!"

Vea la siguiente vista -

from django.http import HttpResponse

def hello(request):
   text = """<h1>welcome to my app !</h1>"""
   return HttpResponse(text)

En esta vista, usamos HttpResponse para renderizar el HTML (como probablemente habrá notado, tenemos el HTML codificado en la vista). Para ver esta vista como una página, solo necesitamos asignarla a una URL (esto se discutirá en un próximo capítulo).

Usamos HttpResponse para representar el HTML en la vista antes. Esta no es la mejor forma de renderizar páginas. Django admite el patrón MVT, por lo que para crear la vista anterior, Django - MVT como, necesitaremos -

Una plantilla: myapp / templates / hello.html

Y ahora nuestra vista se verá así:

from django.shortcuts import render

def hello(request):
   return render(request, "myapp/template/hello.html", {})

Las vistas también pueden aceptar parámetros:

from django.http import HttpResponse

def hello(request, number):
   text = "<h1>welcome to my app number %s!</h1>"% number
   return HttpResponse(text)

Cuando se vincula a una URL, la página mostrará el número pasado como parámetro. Tenga en cuenta que los parámetros se pasarán a través de la URL (que se explica en el siguiente capítulo).