2011-07-04 12 views
12

la idea es tener varios widgets en una página e incluir todos los js y css esta forma necesaria de widgets '(que es fácil de manejar archivos de esta manera) . Los archivos duplicados no son un problema. plantilla de Todos los artilugios se incluye en una página por {% include%} Desde el interior de la plantilla del widget de que estoy tratando de agregar contenido a un bloqueo de los padres:las plantillas de Django - utilizando block.super plantilla incluida en falla (excepción)

PADRES:

{%block js%} 
{%endblock%} 

WIDGET

{%block js%} 
    {{block.super}} 
    ///my widget spectyfic JS 
{%end block%} 

esto está dando un error con {{block.super}}: Caught AttributeError while rendering: 'BlockNode' object has no attribute 'context'

No estoy seguro cómo más puedo extender el bloque ... Parece que es imposible en django ... alguna idea? Definición de múltiples bloques no funcionarán, ya que no sabe cuántos diferentes widgets con qué nombres tendremos en cada página ... (y no es una preocupación de nemplate)

+1

Hola robertzp, yo también estoy enfrentando el mismo problema. ¿Tienes la solución? Por favor ayúdame con esto. – PythonDev

Respuesta

14

De the docs:

Nota

la etiqueta include debe ser considerada como una implementación de "hacer que esta subtemplate e incluir el código HTML", no como "analizar esta subtemplate e incluir su contenido como si fuera parte de los padres". Esto significa que no hay un estado compartido entre las plantillas incluidas; cada inclusión es un proceso de representación completamente independiente.

Si desea block.super a trabajar entonces es necesario utilizar extends lugar.

Cuestiones relacionadas