Форум сайта python.su
Доброго времени суток всем!
Вобщем работаю с питоном 3 дня … До этого писал на PHP немного. Немного не могу расставить для себя все точки над i чтоб окончательно понимать как это работает.
Вобщем задача простая … пусть есть некоторое меню, которое размещено на всех страницах проекта такой структуры….
<ul>
<li><a href=“/” title=“Главная” class=“sidebar_home” id=“sidebar_active_button”></a></li>
<li><a href=“/product/” title=“Продукты” class=“sidebar_products”></a></li>
<li><a href=“/contact/” title=“Контакты” class=“sidebar_contacts”></a></li>
</ul>
id=“sidebar_active_button” - это идентификатор текущего активного пункта меню ….
в PHP это было просто - в глобальном основном файле я просто проверял что щас выбрано … , как это правильно сделать в Django, с условием, что ссылка на /product/ - будет разбиваться еще на подгруппы ?
Я не совсем понимаю как сделать так чтоб некоторый код программы выполнялся ( и генерировал переменные для шаблонов в папке template - для base.html например ) при загрузке странички по любой ссылке…
Заранее благодарен за ответы :)
Офлайн
Офлайн
Готовые решения - это конечно хорошо, но я в них не улавливаю сути до конца так как не знаю еще языка хорошо, вот и пробую изучать на простых примерах … Вы мне мой случай можете помочь понять как реализовать ? Без баз, без админки - все поидее просто должно быть - не могу понять этот момент - как сделать что-то чтоб выполнялось глобально :(
Офлайн
BergДля начала забудьте все, что вы помните о PHP :D.
Я не совсем понимаю как сделать так чтоб некоторый код программы выполнялся ( и генерировал переменные для шаблонов в папке template - для base.html например ) при загрузке странички по любой ссылке…
Офлайн
regallДа …я все это понимаю … Не надо посылать меня на тот или иной источник если не можете дать ответ или Вам лень написать простой код и объяснить …. я много прочитал и читаю на данный момент … Но нигде нет примеров или намеков на подобную реализацию ….
Для начала забудьте все, что вы помните о PHP big_smile.
Отредактировано (Март 11, 2010 11:16:57)
Офлайн
Berg
я много прочитал и читаю на данный момент
Berg
Вобщем работаю с питоном 3 дня
BergНе совсем понятно, что вы имеете в виду. URL-диспетчер для того и существует, чтобы указывать, какой view срабатывает на определенный url.
как можно обрабатываать некоторый код глобально …
BergВы можете это указать в в url'ax, например добавьте в конце в параметры что-то типа:
определить активный пункт в меню для генерации нужного кода в базовом шаблоне
..., {'selected_menu':'products'}) ...
Офлайн
Посмотрите в сторону написания своего тега например:
в шаблоне будет запись вида {%menu%}
далее в контролере тега menu определите по request.url какой текущий пункт, затем все это дело просто в шаблон передайте. Можно каждый пункт оформить ввиде объекта и просто передать в шаблон списком и там:
{%for m in menu%}
<a href=“{{m.get_absolute_url}}” title=“{{m.title}}” class=“sidebar_home” “{%if m.active%}id=sidebar_active_button”{%endif%}></a>
{%endfor%}
Отредактировано (Март 11, 2010 12:51:17)
Офлайн
То есть в каждой вьхе я должен описать генерирование меню ?
ну смотрите ….
мне нужно что б при переходе по www.mysite.com был такой код
<ul>
<li><a href=“/” title=“Главная” class=“sidebar_home” id=“sidebar_active_button”></a></li>
<li><a href=“/product/” title=“Продукты” class=“sidebar_products”></a></li>
<li><a href=“/contact/” title=“Контакты” class=“sidebar_contacts”></a></li>
</ul>
а при переходе по www.mysite.com/product/ вот такой
<ul>
<li><a href=“/” title=“Главная” class=“sidebar_home”></a></li>
<li><a href=“/product/” title=“Продукты” class=“sidebar_products” id=“sidebar_active_button”></a></li>
<li><a href=“/contact/” title=“Контакты” class=“sidebar_contacts”></a></li>
</ul>
а при переходе по www.mysite.com/contact/ вот такой
<ul>
<li><a href=“/” title=“Главная” class=“sidebar_home”></a></li>
<li><a href=“/product/” title=“Продукты” class=“sidebar_products”></a></li>
<li><a href=“/contact/” title=“Контакты” class=“sidebar_contacts” id=“sidebar_active_button”></a></li>
</ul>
вот и все ….
как эфективно подобное реализовывается ?
Офлайн
EvgА тег прийдется подключать в каждой вьюхе?
Посмотрите в сторону написания своего тега например:
Офлайн
тег будет прописан один раз в одном базовом шаблоне.
Офлайн