Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2013 18:20:40

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

Здравствуйте!
Обратил внимание на такую вещь:
Страница home c соответствующим шаблоном:

{% extends "main.html" %}
{% load staticfiles %}
{% block mainpage %}
...
{% endblock %}

main.html:

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Test</title>
	{% load staticfiles %}
	<link rel="stylesheet/less" href="{% static 'css/style.less' %}"/>
	<script src="{% static 'js/jquery-1.9.0.min.js' %}" type="text/javascript"></script>
</head>
<body>
{% block mainpage %}
{% endblock %}
</body>
В итоге страница home формируется с пустым <head>, а мета и скрипты располагаются в <body>, что как бы не валидно.
Что с этим можно сделать?
Спасибо!

Офлайн

#2 Янв. 29, 2013 20:11:17

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

А не, при просмотре кода страницы всё нормально, а вот firebug и webinspector в хроме показывают пустой head, а meta, title, style etc. в body

Отредактировано dnstuff (Янв. 29, 2013 20:18:48)

Офлайн

#3 Янв. 30, 2013 09:14:04

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

head и body в шаблонной системе Django

в

main.html
<html>
тэг не закрыт

Офлайн

#4 Янв. 30, 2013 09:41:50

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

inoks
в
Это я неаккуратно скопипастил. В оригинале он закрыт.

Офлайн

#5 Янв. 30, 2013 11:09:01

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

head и body в шаблонной системе Django

а вот firebug и webinspector в хроме показывают пустой head, а meta, title, style etc. в body
выложите скриншот

Офлайн

#6 Янв. 30, 2013 11:35:23

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

Офлайн

#7 Янв. 30, 2013 12:22:47

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

head и body в шаблонной системе Django

я бы попробовал сохранить результат в html файл и разобраться с ним.
к django это отношения уже не имеет, тут проблема в итоговом HTML или в его отображении в firebug.

Отредактировано inoks (Янв. 30, 2013 12:23:03)

Офлайн

#8 Фев. 5, 2013 11:31:59

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

Феномен дополнился новыми наблюдениями.
Прикрутил шаблон:

{% 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, без отсебятины в заголовке?

Отредактировано dnstuff (Фев. 5, 2013 11:46:45)

Офлайн

#9 Фев. 5, 2013 12:01:53

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

head и body в шаблонной системе Django

В каком редакторе можно по-человечески сохранить UTF-8, без отсебятины в заголовке?

Sublime Text 2

Офлайн

#10 Фев. 8, 2013 12:23:23

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

head и body в шаблонной системе Django

Ваш шаблон:

{% extends "main.html" %}
{% load staticfiles %} <<< Это лишние, вы уже подгрузили статику в main.html
{% block mainpage %}
...
{% endblock %}



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version