2011-02-13 14 views
5

Utilizo la herencia de plantillas en django.django: la misma etiqueta de plantilla, pero en varias plantillas html heredadas

Actualmente tienen frame.html y book_detail.html

book_detail.html extiende frame.html y tengo books_tags.py

# In frame.html 
{% load books_tags %} 
{% book_list %} # using a tag from books_tags.py 



# In books.html 
{% extends frame.html %} 
{% block content %} 
    {% book_list %} # I want to use this from books_tags.py also 
{% endblock %} 

Cuando intento utilizar book_list de la misma books_tags.py, me da error de sintaxis Alternativamente, cuando puse {% load books_tags%} dentro de book_detail.html primero, nuevamente todavía me da error de sintaxis.

etiqueta de bloque no válido: 'book_list', espera 'bloque final' o 'bloque final contenido'

¿Hay alguna manera de poder usar mismas etiquetas de plantilla en varias plantillas heredadas? ¿O necesito crear frame_tags.py y book_detail_tags.py con la misma definición en él?

Como los filtros de plantilla predeterminados en django funcionan en herencia múltiple, supongo que debería funcionar, pero no sé cómo obtenerlos por error de sintaxis.

Gracias.

== == ACTUALIZACIÓN

Añadir template_tag interior {% block content%} en books.html nuevo.

# In books.html 
{% extends frame.html %} 
{% block content %} 
    **{% load books_tags %}** 
    {% book_list %} # I want to use this from books_tags.py also 
{% endblock %} 

Respuesta

Cuestiones relacionadas