2009-08-25 11 views

Respuesta

16

{% 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.

6

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.

Cuestiones relacionadas