Как стать автором
Обновить

Комментарии 8

Так же. Однако меня всегда смущало использование темплатетегов для вывода, скажем, блока последних комметариев. Не потому что плохо работает, как раз отлично, а просто получается смешение логики и представления. То есть шаблонизатор почти занимается запросом к БД, что не хорошо. Когда пишу проекты на Symfony, там есть специальные методы для этого — partial или component, сделанные специально для вот таких вставок на страницы. И я был бы рад, если в Django нашлись подобные. Может я мудак и плохо искал?
Почему же? У тега тоже есть своя логика и шаблон. У основного контента тоже есть разделение на логику и представление. Само представление тоже разбивается на HTML и CSS. Это и есть разделение, только на разных уровнях.

А вобще — следовать MVC только ради самого MVC это тоже плохо. Главное — чтобы код был удобен для понимания и последующей поддержки.

Как, я думаю Вы уже поняли, я с автором топика согласен.
Ну тогда моя душа спокойна, спасибо.
«Не сотвори кумира» или как там) Строго говоря, MVC — всего лишь повод для размышлений. Скажем, стандарты оформления кода — куда более жесткое правило. А патерны…
Очень не хватает примеров, без них непонятно, о чем идет речь.
НЛО прилетело и опубликовало эту надпись здесь
В 8 утра не особо сообразишь на примеры) И скорее я ждал ответов на свой вопрос, нежели предлагал свое решение
— Огры как лук
— Воняют?
— Да нет.
— От них плачут
— Нет.
— Если их оставить на солнце то они становятся коричневыми
— Нет! У огров есть слои. И у лука есть слои. У тех и у других есть слои.
© Шрек

У джанго-приложений тоже есть слои, которые выражаются структурой каталога. Темпрейт-теги (templatetags/*) это расширения для языка шаблонов. В слое тегов, кодим только то, что нужно для взаимодействия с шаблонизатором. Формированием html занимаются шаблоны (templates/*) или виджеты (см. django/forms/widgets.py). А формированием контекста данных для виждетов — модели представления (admins.py, forms.py, и т.п.).

Из шаблона к блоку обращаемся через тег, из views — через функцию, а из context — по имени value в структуре данных. Т.е. блок у нас, это value внутри Context.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории