Тема: Snakeskin
Показать сообщение отдельно
  #642 (permalink)  
Старый 10.02.2016, 19:25
Аспирант
Отправить личное сообщение для Max Power Посмотреть профиль Найти все сообщения от Max Power
 
Регистрация: 15.12.2015
Сообщений: 83

...и кстати, не холивара ради, а потому что коль уж здесь любители шаблонов собрались...

> вдохновился от Django Templates для Python

У меня есть четкое мнение (это всего лишь одно из всех мнений), что Django Templates - это полная хрень.

С одной стороны, он делает из пользователя идиота. Не позволяет даже объявить переменную в шаблоне например, в общем там куча ограничений. Типа это философия такая - типа верстала не должен иметь возможности накосячить. Типа верстала не сильно шарит в шаблонном движке. Но эта философия уже давно протухла и воняет. Современный верстала должен не просто шарить в шаблонном движке, а обязан быть гуру шаблонного движка, иначе - *вон из професси*.

При всем при этом если нужен шаг в сторону - лезь либо в templatetags, либо во view. А верстала туда лазить не должен!

Но самое мать его веселое - это доступ к ORM.

{% for post in posts %}
     <h1>{{ post.name </h1>
     <p>{{ post.date }}</p>
{% endfor %}


пока все хорошо. А теперь нужно добавить user.reg_date

{% for post in posts %}
     <h1>{{ post.name </h1>
     <p>{{ post.date }}</p>
     <span>{{ post.user.reg_date }}</span>
{% endfor %}


Опа, и вот у нас уже 50 лишних запросов к базе. Это сделал верстала. (И это вообще лайтовый пример.)

А должно быть вот как:
(Верстала): программер, мне в постах еще юзеры теперь нужны
(Программер): понял, добавлю (и уже там select_related и все дела)

Конечно проблема с доступом к ORM - это скорее проблема уровнем повыше, чем особенность шаблонодвижка, но наглядно демонстрирует всю ущербность подхода.

Сейчас Django нативно поддерживает Jinja2, и оно лучше. Jade было бы еще лучше (к сожалению с сабжем пока не знаком), но увы.

...Это все просто мысли.
2all: Как, согласны?
Ответить с цитированием