Los Django template doc menciona los siguientes para las plantillas que se extienden:¿Cómo uso la plantilla de Django para extender la variable?
{% extends variable %}
Dónde puedo definir la variable? ¿Es de views.py?
Los Django template doc menciona los siguientes para las plantillas que se extienden:¿Cómo uso la plantilla de Django para extender la variable?
{% extends variable %}
Dónde puedo definir la variable? ¿Es de views.py?
{% extends %}
en realidad toma una cadena - la ubicación de la plantilla para ampliar.
Si desea declarar esta variable en Python, páselo al cargador de plantillas utilizando su diccionario. Ejemplo:
import django.http
from django.shortcuts import render_to_response
# ...
INDEX_EXTEND = "index.html"
# ...
def response(request) :
return render_to_response("myview.html", {'extend': INDEX_EXTEND})
Y luego en la vista:
{% extends extend %}
en cuenta que 'extend'
fue aprobada en el diccionario pasada a la plantilla. Por supuesto, puede definir la variable en cualquier otro lugar en su archivo .py
, o incluso en la declaración del diccionario en sí.
Recuerde que {% extends %}
también puede invocarse como tal:
{% extends "index.html" %}
Mira la documentación sobre Template inheritance, también.
Sí, es solo una variable de contexto como cualquier otra.
No es necesario utilizar una variable - {% extends "main.html" %}
es perfectamente aceptable, de hecho preferible a menos que necesite hacer algo masivamente dinámico con la herencia de la plantilla.