django:相同的模板标签,但在多个继承的html模板中

Dav*_*vid 5 django multiple-inheritance django-templates

我在django中使用模板继承.

目前有frame.html和book_detail.html

book_detail.html扩展了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 %}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用相同books_tags.py中的book_list时,它会给我语法错误.或者,当我首先在book_detail.html中放入{%load books_tags%}时,它仍然会给我语法错误.

无效的块标记:'book_list',预期'endblock'或'endblock content'

有什么办法可以在多个继承的模板中使用相同的模板标签吗?或者我是否需要创建具有相同def的frame_tags.py和book_detail_tags.py?

由于django中的默认模板过滤器在多重继承中工作,我猜它应该工作,但不知道如何通过语法错误获取.

谢谢.

==更新==

再次在books.html中的{%block content%}内添加template_tag.

# In books.html
{% extends frame.html %}
{% block content %}
   **{% load books_tags %}**
   {% book_list %} # I want to use this from books_tags.py also
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

Arn*_*aud 8

您可以在多个模板中使用相同的模板标记,但是必须调用{% load books_tags %}每个文件,即使它们之间存在继承关系.

请参阅https://docs.djangoproject.com/en/dev/topics/templates/#custom-libraries-and-template-inheritance