Django模板:如何将子级变量传递给父级?

4
我有几个网页除了主要内容和页面标题外都相同。每个单独的页面都扩展了base.html,其中包含头部和标题等内容。
问题是,是否有一种方法可以将标题从子页面传递到父页面?我尝试在下面说明我想要的内容。

base.html

<html>
   <head>
      <title>the_title</title>
   </head>
   <body>
      {% block content %}{% endblock %}
</body></html>

page1.html

{% extends "base.html" using "Page One" as the_title %}
{% block content %}Page 1 content{% endblock %}

我意识到可以从视图中传递标题并将其用作{{the_title}},但我真的认为标题应该写在HTML中,而不是视图逻辑中。
1个回答

2
您可以使用标准的Django block模板标签

base.html

<html>
   <head>
      <title>{% block title %}base title{% endblock %}</title>
   </head>
   <body>
      {% block content %}{% endblock %}
</body></html>

child.html

{% extends "base.html" %}
{% block title %}child title{% endblock %}
{% block content %}Page 1 content{% endblock %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接