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.
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 –