Является ли использование шаблонных тегов для извлечения данных нарушением разделения интересов? - PullRequest
0 голосов
/ 27 апреля 2011

Мне интересно, является ли универсальное приложение плоских блоков django нарушением принципа разделения интересов.
Для тех из вас, кто не знает приложение, оно извлекает данные, основанные наslug или id и тип модели.
Например:

{% gblock "about" for "cms.FlatPageWithsummary" into "about" %}

С одной стороны, он отмечает, где должен отображаться контент, так что это имеет смысл с точки зрения дизайнера, но с другой стороны, оншаблон не должен отвечать за выборку данных.
Что мне делать?Должен ли я пройти через контекст запроса?Теперь я сталкиваюсь с другой ситуацией, когда мне нужно вытащить свои последние сообщения и отобразить их.
Где здесь строка?
Потому что опять же дизайнер может пометить и реализовать эту функцию только с помощью моего предоставленного тега шаблона,но, с другой стороны, я получаю данные из шаблона, который кажется неправильным.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Что если это так? Эти «принципы» призваны сделать нашу жизнь разработчиков и пользователей проще. Если самый простой и чистый способ сделать что-либо нарушает этот принцип, мы должны это делать, пока качество кода не пострадает. Не похоже, что есть моральная причина соблюдать разделение интересов любой ценой.

И, не забывайте, есть и другие принципы, которым нужно следовать. Принимая ради аргумента, что это нарушает разделение интересов, оно все же определенно следует за СУХОЙ. Если эти принципы противоречат друг другу, вы должны выбрать, какой из них следовать.

0 голосов
/ 27 апреля 2011

django.contrib.comments тоже извлекает данные из БД в теге шаблона . Если вы хотите, чтобы ваши приложения можно было повторно использовать, то это обычный шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...