Una plantilla de Django es un documento de texto o una string de Python marcada con el lenguaje de plantillas de Django. Django, al ser un poderoso marco de trabajo incluido en las baterías, brinda comodidad para representar datos en una plantilla. Las plantillas de Django no solo permiten pasar datos de la vista a la plantilla, sino que también proporcionan algunas características limitadas de una programación, como variables, bucles for, comentarios, extensiones, etc.
Este artículo gira en torno a cómo usar la etiqueta extends en Plantillas. La etiqueta extends se usa para la herencia de plantillas en django. Uno necesita repetir el mismo código una y otra vez. Al usar extensiones, podemos heredar plantillas y variables.
Sintaxis:
{% extends 'template_name.html' %}
Ejemplo:
suponga la siguiente estructura de directorios:
dir1/ template.html base2.html my/ base3.html base1.html
En template.html, las siguientes rutas serían válidas:
html
{% extends "./base2.html" %} {% extends "../base1.html" %} {% extends "./my/base3.html" %}
extends – Explicación de las etiquetas de la plantilla de Django
Ilustración de cómo usar la etiqueta extends en las plantillas de Django 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.
Ahora crea una vista a través de la cual accederemos a la plantilla,
en geeks/views.py,
Python3
# import Http Response from django from django.shortcuts import render # create a function def geeks_view(request): # return response return render(request, "extendedgeeks.html")
Cree una ruta de URL para asignar a esta vista. En geeks/urls.py,
Python3
from django.urls import path # importing views from views.py from .views import geeks_view urlpatterns = [ path('', geeks_view), ]
extends siempre se usa con etiquetas de bloque para que se pueda heredar y anular. Cree una plantilla como plantilla base en templates/geeks.html.
html
<h1>Main Template</h1> {% block content %} {% endblock %}
Ahora crea una plantilla que usará geeks.html como plantilla base. Cree una nueva plantilla extendedgeeks.html,
html
{% extends "geeks.html" %} {% block content %} <h2> GeeksForGeeks is the Best {% endblock %}
Verifiquemos si se muestran datos de ambas plantillas en extendedgeeks.html
Uso avanzado
{% extiende la variable%} usa el valor de la variable. Si la variable se evalúa como una string, Django usará esa string como el nombre de la plantilla principal. Si la variable se evalúa como un objeto Plantilla, Django usará ese objeto como plantilla principal.
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA