extends – Plantilla Django Etiquetas

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 
 

extends-django-templates-tags

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

Deja una respuesta

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