Феномен дополнился новыми наблюдениями.
Прикрутил шаблон:
{% extends "main.html" %}
{% load i18n %}
{% load staticfiles %}
{% block newsposts %}
<div class="row">
<div class="span12">
<div class="well">
<a href="{% url appl.views.view_post post.slug %}"><h3>{{post.title}}</h3></a>
<p>{{post.timestamp}}</p>
<p><strong>{{post.description|safe}}</strong></p>
<p>{{post.body|safe}}</p>
</div>
</div>
</div>
{% endblock %}
Обратил внимание, что шапка соответствующей страницы отображается немного не так, как на других страницах. Хотя шапка прописана в main.html и, казалось бы, ну никак не может измениться от внедрения этого шаблона. Есть и еще одна особенность - у этой страницы head и body показываются абсолютно правильно.
Практически вывихнув последний мозг, допер, что файлы остальных шаблонов у меня сохранены в UTF-8, т.к. они содержат кириллицу, и в другой кодировке django их не переваривает. А этот шаблон не содержит кириллицу в явном виде, django не заругалась, а я естественно забыл поменять кодировку. Этот шаблон сохранен в ANSI.
Теперь ситуация выглядит так: если все шаблоны сохранены в UTF-8, все работает нормально, за исключением корявого отображения head и body в furebag и webinspector. Если в ANSI, то с head и body всё ок, но страницы, содержащие кириллицу вываливаются с ошибкой кодировки.
Как можно упорядочить весь этот бардак, чтобы все было валидно?
Спасибо!
P.S. Появилось подозрение, что Notepad++ добавляет перед DOCTYPE какую-то херню, т.к. валидатор говорит <!DOCTYPE html> Line 1, Column 1: Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>.
Открыл в Блокноте, там в начале только пробел лишний, его удаление ничего не изменило. В каком редакторе можно по-человечески сохранить UTF-8, без отсебятины в заголовке?