Форум сайта python.su
-1
Есть ли в джанго такая фича для шаблонной системы:
например в шаблоне участок кода чтобы можно было обернуть в некий тег, а его описание было в отдельном месте с указаниимем метки того что он оборачивает.
т.е например:
сам обворачивающий тег будет таким:
cover:
<div id="cover_div1">
<div id="cover_div2">
{covered}
</div>
</div>
<div id="cover_div1">
<div id="cover_div2">
"тут разный хтмл код, вызовы тегов и тд."
</div>
</div>
Отредактировано (Фев. 26, 2009 22:55:54)
Офлайн
2
Похоже на наследование. Но все равно не понятна до конца суть задачи.
Офлайн
-1
ну как вариант можно реализовать через наследование, но только частные случаи,причем нада плодить каждый раз новый шаблон.
Задача помоему вполне очень даже частая в плане верстки, когда нужно оборачивать например некоторые сообщения html кодом и этот обвертывающий код из раза в раз повторяется, поэтому хочется его держать в одном месте для быстрого глобального изменения. Наследование тут как то слишком тяжеловато будет..к тому же если этот код например повторяется несколько раз в одном шаблоне тут даже не понятно как делать с наследованием..
это больше с декораторами даже аналогию можно провести чем с наследованием..
Офлайн
2
Тогда комбинация наследования и include.
Офлайн
-1
что то не понял как это тут комбинировать и зачем?) если уж взяли инклуд тогда просто им и можно оборачивать с двух сторон и все, зачем тут наследование? хотелось бы конечно более приятного использования типа как декоратора, без извращений..
Офлайн
2
EvgНе понимаю о каких вы декораторах говорите, если в шаблонах в принципе нет декораторов.
хотелось бы конечно более приятного использования типа как декоратора, без извращений..
EvgТак красивей получается.
что то не понял как это тут комбинировать и зачем?) если уж взяли инклуд тогда просто им и можно оборачивать с двух сторон и все, зачем тут наследование?
<cover_div1>
<cover_div2>
{% block covered %}
{% endblock %}
</div>
</div>
Офлайн
-1
да определенно красивее чем с инклудами и файл не дробится, не нравится только то что нужно много движений с файлами совершать, вот если бы это было в одном фрагменте и читалось бы проще, еще логика заключенная в эти блоки может быть важнее\сложнее чем сами эти обертки и из-за этого перетягивать важную в данном контексте логику в другое место и наследоваться от менее важной информации..тоже как то не хочется - проще наклейку наклеить на стену, чем стену тащить к наклейке :)
декоратор это я аналогию провел, на что больше похоже.
Офлайн
0
я конечно начинающий, но помоему вашу задачу может решить подобный кастомный тег
http://jjinux.blogspot.com/2006/02/python-django-custom-tags.html
Офлайн
-1
у тега недастаток в данном случае в том что ему нужно предавать то что он обворачивает как параметры, а это не всегда удобно, куда проще разметить границы обворачиваемой области в шаблоне.
Офлайн
0
тоже столкнулся с похожей задачей. Никто не придумал более красивое решение?
Офлайн