我有一个模板块来覆盖继承模板中的类名。来自块覆盖的结果html显示恶意文本。
base.html文件:
<html>
<body>
{% block content %}
<h1 class="{% block heading_style %}Base{% endblock %}">Base Page Heading</h1>
{% endblock%}
</body>
</html>
Child.html:
{% extends "Base.html" %}
{% block content %}
{{block.super}}
{% block heading_style %}Login{% endblock %}
{% endblock %}
块heading_style是我关注的块。
结果html:
正如您所看到的,h1类已被“Login”替换,但它也开始在h1标记之后显示“Login”作为文本。
我正在使用django 1.3.3和eclipse与pydev。我还检查了html文件的编码,它们是utf-8
答案 0 :(得分:1)
您已将heading_style
块的定义放在<{em> content
块中的子中。因此它被用于两件事:作为content
中的文本内容,以及填充父级中的heading_style
块。
将heading_style
移到content
块定义之外,它应该没问题。
答案 1 :(得分:0)
缺少一个端块
{% block content %}
{{block.super}}
{% block heading_style %}Login{% endblock %} {% endblock %}
答案 2 :(得分:0)
我不确定覆盖块和嵌套子块以及{{block.super}}
是做事的良好组合。您可能希望重新考虑模板而不依赖于此。
以下是与此相关的django票证(不确定是否已经修复){{ block.super }} doesn't work with nested {% block %} statements