django: тот же тег шаблона, но в нескольких унаследованных шаблонах html

Я использую наследование шаблонов в django.

В настоящее время есть frame.html и book_detail.html

book_detail.html extends frame.html, и у меня есть 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 %}

Когда я попробуйте использовать book_list из того же books_tags.py, это дает мне синтаксическую ошибку. С другой стороны, когда я сначала помещаю {% load books_tags%} в book_detail.html, он снова по-прежнему дает мне синтаксическую ошибку.

Неверный тег блока: 'book_list', ожидаемый 'endblock' или 'endblock content '

Можно ли каким-либо образом использовать одни и те же теги шаблона в нескольких унаследованных шаблонах? Или мне нужно создать frame_tags.py и book_detail_tags.py с таким же def?

Поскольку фильтры шаблонов по умолчанию в django работают с множественным наследованием, я предполагаю, что это должно работать, но я не знаю, как обойтись синтаксическая ошибка.

Спасибо.

== UPDATE ==

Добавьте template_tag внутри {% block content%} в books.html еще раз.

# In books.html
{% extends frame.html %}
{% block content %}
   **{% load books_tags %}**
   {% book_list %} # I want to use this from books_tags.py also
{% endblock %}
5
задан David 13 February 2011 в 23:58
поделиться