由于django模板块而在html旁边的垃圾文本?

时间:2012-09-27 09:38:52

标签: html django utf-8 django-templates

我有一个模板块来覆盖继承模板中的类名。来自块覆盖的结果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:

Resultant html

正如您所看到的,h1类已被“Login”替换,但它也开始在h1标记之后显示“Login”作为文本。

我正在使用django 1.3.3和eclipse与pydev。我还检查了html文件的编码,它们是utf-8

3 个答案:

答案 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