TemplateView – Vista genérica basada en clases Django

Django proporciona varias vistas genéricas basadas en clases para realizar tareas comunes. El más simple de ellos es TemplateView. Representa una plantilla dada, con el contexto que contiene los parámetros capturados en la URL.

TemplateView debe usarse cuando desee presentar alguna información en una página HTML. TemplateView no debe usarse cuando su página tiene formularios y crea o actualiza objetos. En tales casos, FormView , CreateView o UpdateView es una mejor opción.

TemplateView es más adecuado en los siguientes casos:

  • Mostrando ‘sobre nosotros’ como páginas que son estáticas y apenas necesitan contexto. Sin embargo, es fácil usar variables de contexto con TemplateView.
  • Mostrando páginas que funcionan con requests GET y no tienen formularios.

Explicación :

Ilustración de cómo usar TemplateView usando un ejemplo. Considere un proyecto llamado geeksforgeeks que tenga una aplicación llamada geeks.

Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django. 
  

¿Cómo crear un proyecto básico usando MVT en Django? 
  

¿Cómo crear una aplicación en Django?

Escribamos una vista usando la vista de clase base View y luego modifiquémosla para usar TemplateView. TemplateView nos ayudaría a evitar varias líneas de código.

  • Ingrese el siguiente código en el archivo views.py de la aplicación geeks.

Python3

from django.views.generic.base import View
from django.shortcuts import render
 
class AboutUs(View):
  def get(self, request, *args, **kwargs):
        return render(request, "aboutus.html")
  • Cree una carpeta llamada templates dentro de la aplicación geeks y luego cree un archivo llamado aboutus.html dentro de la carpeta templates.
  • Ingrese el siguiente código en el archivo aboutus.html.

HTML

<!DOCTYPE html>
<html>
<head>
<title>AboutUs</title>
</head>
<body>
<h2>Welcome To GFG</h2>
</body>
</html>
  • Ingrese el siguiente código en urls.py de la carpeta del proyecto geeksforgeeks.

Python3

from django.contrib import admin
from django.urls import path
from geeks.views import AboutUs
 
urlpatterns = [
    path('admin/', admin.site.urls),
      path('',AboutUs.as_view(),name="aboutus")
]
  • Ejecute debajo de tres comandos para ver el resultado.
Python manage.py makemigrations
Python manage.py migrate
Python manage.py runserver
  • Se puede lograr el mismo resultado usando TemplateView, reemplace el código del archivo views.py de la aplicación geeks por el código que se proporciona a continuación.

Python3

from django.views.generic.base import TemplateView
 
class AboutUs(TemplateView):
    template_name = 'aboutus.html'

Veamos qué hay en http://localhost:8000/

Producción – 

Publicación traducida automáticamente

Artículo escrito por muskan24r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *