2012-02-25 98 views
4

我的基本模板是为什么django在扩展后生成空字符串?

<!DOCTYPE html> 
<html lang="en"> 
<head>  
    <title>{% block title %}My amazing site{% endblock %}</title> 
</head> 

<body> 
    <div id="sidebar"> 
     {% block sidebar %} 
     <ul> 
      <li><a href="/">Home</a></li> 
      <li><a href="/blog/">Blog</a></li> 
     </ul> 
     {% endblock %} 
    </div> 

    <div id="content"> 
     {% block content %}{% endblock %} 
    </div> 
</body> 
</html> 

索引页:

{% extends "base.html" %} 

{% block title %}My amazing blog{% endblock %} 

{% block content %} 
{% for entry in blog_entries %} 
    <h2>{{ entry.title }}</h2> 
    <p>{{ entry.body }}</p> 
{% endfor %} 
{% endblock %} 

什么是错的,为什么它是产生这些引号内的怪空的文本? 它影响我的布局。你有什么想法?谢谢。你的标题标签插入身体标记

enter image description here

回答

3

在持续!!!我发现是什么原因造成this.I使用记事本+ +和编码,以

UTF-8

,但我应该编码为

UTF-8无BOM

无论如何谢谢大家。

0

收费attantion。也许开始从这里搜索?

+0

我注意到,但模板代码似乎是正确的。 – 2012-02-25 18:40:52

+0

您确定模板index.html扩展了base.html吗? – greg 2012-02-26 12:43:48

+0

是的,只有两个文件,并从这两个文件合并得到的html。 – 2012-02-26 19:22:45

-1

这不能是模板合成的结果,因为在你的“base.html”模板中,{%block title%}位于段之间,但是在你的结果html中,它在段中。还有一个CSS链接,在任何部分之外。我有很多这样的空字符串,这并不影响我的布局,我认为问题在于你的外部部分。

1

使用Ctrl+U打开源还看起来很奇怪吗?也许这就是Chrome浏览器是搞乱元素预览,因为我已经做了视图呈现这些确切的两个模板(并加入2个虚拟博客条目)上的Django 1.2.3,它正确地呈现为:

<!DOCTYPE html> 
<html lang="en"> 
<head>  
    <title>My amazing blog</title> 
</head> 

<body> 
    <div id="sidebar"> 

     <ul> 
      <li><a href="/">Home</a></li> 
      <li><a href="/blog/">Blog</a></li> 
     </ul> 

    </div> 

    <div id="content"> 


    <h2>Test 1</h2> 
    <p>blah blah</p> 

    <h2>Test 2</h2> 
    <p>blah blah</p> 


    </div> 
</body> 
</html> 
+0

你说得对,源代码正确生成,但Chrome搞乱了。当我尝试使用黑色(对于前)颜色呈现标题时,我会在标题之前获得小的页边空白。当我在“检查元素”选项卡中删除这个空字符串时,此边距消失。 – 2012-03-06 09:09:01

相关问题