2012-02-25 39 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

相關問題