Найти - Пользователи
Полная версия: подскажите, что за проблема с наследованием шаблонов
Начало » Django » подскажите, что за проблема с наследованием шаблонов
1 2
gfw
Начал изучать Джанго. Начал простейший новый проект. Сделал base.html с заголовком и горизонтальным меню. Стили задал в css файле.

Начал делать главную страницу. Сделал шаблон page1.html с единственной строкой {% extends “base.html” %}.

Так вот, отображение меню, заголовка и поведение страницы несколько поменялось. Пробовал скопировать в page1 заголовок из base:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
получил 3ий вариант вида страницы.

В чем тут хитрость с этим наследованием? Можно ли получить наследование в чистом виде? Голова уже сломалась думать. :)
Ferroman
Что значит “поменялось”? Как именно?
Код base.html в студию.
Александр Кошелев
gfw
Посмотрите на html код, который пришел в браузер и сравните.
gfw
Ferroman
Что значит “поменялось”? Как именно?
Код base.html в студию.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<link href="\media_data\base.css" rel="stylesheet" type="text/css" media="screen" />
</head>

<div id="container">
<div id="header">
<h1 id="logo"><a href="http://127.0.0.1:8000/"><img src="/media_data/pd_logo3.gif" /></a></h1>
<ul id="global">
<li id="homepage"><a href="http://127.0.0.1:8000/">главная</a></li>
<li id="gototest"><a href="http://127.0.0.1:8000/exp/">тестирование</a></li>
<li id="articles"><a href="http://127.0.0.1:8000/11/">статьи</a></li>
<li id="forum"><a href="http://127.0.0.1:8000/22">форум</a></li>
</ul>

</div>
</div>
</body>
</html>
код css:
body { background:#003040; color:white; padding: 0; margin:0; }
#container {position:relative; min-width:700px;}

a {text-decoration: none;}
a img {border: none;}
a:link { color:#c060c0; }
a:visited { color:#0050a0; }

#header { position:relative; background:#002040; height: 82px}
#header h1#logo { margin:0; padding:0; width:394px; height:68px; border: none; position:absolute; bottom: 4px; left:22px; }

#hmenu { position:absolute; margin: 0; bottom:0; right:0; font-family:"Trebuchet MS",sans-serif; white-space:nowrap; font-size: small;}
#hmenu li { display:block; float:left; list-style-type:none; margin:0; padding:0; }
#hmenu a { display:block; float:left; padding:7em 16px 8px 16px; background:#002040; color: #82c8fe}
Что поменялось:
появился сверху дополнительный отступ между верхом окна и заголовком (при исключении меню из текста отступ остается)
поменялся размер шрифта меню
перестало работать #container {min-width:700px;} - при уменьшении окна меню стало “наезжать” на логотип
gfw
Daevaorn
gfw
Посмотрите на html код, который пришел в браузер и сравните.
html код полностью идентичен, стили почему-то по-другому работают.
Александр Кошелев
gfw
html код полностью идентичен, стили почему-то по-другому работают.
Если и стили такие же, то значит и отображений тоже должно совпадать.
gfw
Daevaorn
gfw
html код полностью идентичен, стили почему-то по-другому работают.
Если и стили такие же, то значит и отображений тоже должно совпадать.
В обоих html абс. одинаковая ссылка на css

А можно как-то посмотреть текущий код загруженных стилей?
Ferroman
\media_data\base.css
Может используйте просто слеш?
Но вряд ли проблема в этом. Посмотреть стили можно используя Web Developer плагин к фаерфоксу.
gfw
Выяснил еще 1 момент:

если сохранить page1.html в кодировке 8-bit, проблема исчезает, а при переходе на utf-8 снова появляется.
Ferroman
Проверьте кодировку всех файлов.
Поставьте charset как utf-8.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB