2012-02-25 2 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 использовать Notepad ++ и закодировать

UTF-8

, но я должен был закодирован в

UTF-8 без BOM

Все равно спасибо всем.

0

Pay attantion, что название тег вставляется в тело тега. Может, начать искать здесь?

+0

Я заметил это, но код шаблона кажется правильным. –

+0

Вы уверены, что шаблон index.html расширяет правый base.html? – greg

+0

Да, есть только два файла, и итоговый html объединяется с этими двумя. –

-1

Это не может быть результатом этого для шаблонов, потому что в вашем шаблоне «base.html» {% block title%} находится между разделами, но в полученном html-файле он находится в разделе. А также есть ссылка CSS, вне и разделов. У меня много пустых строк, и это не влияет на мой макет, я думаю, проблема заключается в том, что вы находитесь за пределами раздела.

1

Открыт ли источник с использованием Ctrl+U также странным? Может быть, это Chrome, что Мессинг просмотр Elements, потому что я сделал вид рендеринга именно эти два шаблона (и добавление 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 запутался. Когда я пытаюсь отобразить заголовок с черным цветом (для ex), я получаю небольшое поле перед заголовком. Когда я удаляю эту пустую строку на вкладке «Inspect Element», это поле исчезает. –

Смежные вопросы