获取要在IF语句中使用的模板块的内容

时间:2018-10-03 18:25:29

标签: django django-templates

目前,我在base.html中为页面标题设置了阻止设置。它从每个模板页面获取唯一值,并将网站名称添加到末尾。例如:ABOUT US - My Site Name。模板会传递“关于我们”信息,无论如何,每个页面上都会显示“-我的网站名称”。

但是,我想在索引页面上使用相同的base.html,但只显示“我的网站名称”。我希望通过分析每个模板传递的块来使用if语句来查找唯一值,以表示我在索引页面上。

到目前为止,我的代码如下:

<title>
    {% if {% block title %}{% endblock %} == "index_pg" %}
        My Site Name
    {% else %}
        {% block title %}{% endblock %} - My Site Name
    {% endif %}
</title>

显然这是行不通的。关于我如何实现此目标的任何想法?谢谢。

1 个答案:

答案 0 :(得分:1)

通常我会使用两个块,一个包裹在另一个块上,像这样:

# base.html template
<title>
  {% block title %}
    {% block inner_title %}{% endblock inner_title %} - The Stock Column
  {% endblock title %}
</title>

因此,对于您的大多数页面,您都将扩展base.html并执行以下操作:

{% block inner_title %}Page XYZ{% endblock inner_title %}

然后在索引页面上,您还可以扩展base.html,但是您可以这样做:

{% block title %}TEST{% endblock title %}

第一个输出的结果将是:

<title>Page XYZ - The Stock Column</title>

第二个索引的输出是您的索引页面:

<title>TEST</title>