从Django模板块中删除HTML?

时间:2016-10-21 13:53:49

标签: django django-templates

在我的Django base.html模板中,我有一个title块:

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

在页面模板中,我使用该块中<h1>页面标题中的文字,因此它也会显示在<title>标记中,例如:

{% extends 'base.html' %}

{% block content %}
    <h1>{% block title %}Hello world!{% endblock %}</h1>
{% endblock %}

一切正常。但是,如果我想在页面<h1>中使用HTML标签,就像这样......

{% extends 'base.html' %}

{% block content %}
    {% block title %}<b>Hello</b> world!{% endblock %}
{% endblock %}

...这些标签也会出现在<title>中,这是不允许的。

除了拥有两个版本的标题之外,还有其他办法:<h1>中的一个版本和{% block title %}中的一个无HTML版本?我不认为有一种方法可以从块中删除HTML吗?

1 个答案:

答案 0 :(得分:0)

你可以这样使用cycle

{% extends 'base.html' %}

{% block content %}
        <h1>
            {% block title %}
            {% cycle '' '<b>' %}Hello world!{% cycle '' '</b>' %}
            {% endblock %}
        </h1>
{% endblock %}

希望这有帮助