Pull to refresh

Comments 16

И, вроде, под 3 он не тестировался.
Подразумевается, что подавляющее большинство современных продуктов на питоне работает под python 2.5+, в то время как портирование продукта под третью версию каждый раз событие, так как это единичные случаи. Решил выделить отдельно.
не обнаружил документированности тэга {% module %}
поясните вкратце, как оно работает?
пишешь какой шаблон подянуть, за ним тянутся его JS, CSS и виджеты.
НЛО прилетело и зохавало ответ mrjj


Тоесть, {% module Template(path_to_template...) %} делает хитрый include другого шаблона, распихивая его (гипотетические) {% block headers_css %} {% block headers_js %} в соотвествующие места исходного шаблона?
Или {% module Template() %} это частный случай {% module Foo() %}

P.S.
Я не знаю торнадо шаблонизатора.
Чуть выше линк дал, там не совсем прямое включение а через UI module. Типа вызова функции из шаблона, которая может рендерить другой шаблон.

Торнадовский шаблонизатор прекрасен возможностью прямых вызывов функций, так как имеется такая возожность все остальное крайне минималистично.
UI Module вызвается просто как функция {{ modules.Entry(entry) }}
а мне про новый тэг {% module %} непонятно.
или это просто разные формы одного и тогоже?
Почти одни и те же, но внутренние пути в приложении ощутимо различаются. Подробнее тут comments.gmane.org/gmane.comp.python.tornado/163 поясняется, как это связано с новым подходом к добавлению escape символов, внятностью синтаксиса шаблонов и т.д.
Очень радует, что перевели (или сделали совместимым, скорее) на 3.2 python. Пора бы уже многим так делать, третий питон имеет много вкусных плюшек, да и значимое улучшение GIL радует.
Ну, меня в 2.6+ смущают только кодировки строк, все остальное можно пережить с небольшими хаками, кроме этого бесконечного источника багов. Все-таки веб это в большинстве своем работа с текстовой информацией.
Конкретно в Tornado GIL ну вообще побоку ибо он потоки не использует (вроде как).
так точно, конкретно он не использует, ибо весь смысл его в избежании оверхеда от переключения. Но зачастую в реальных проектах, которые его используют все же приходится применять потоки, на Хабре описывался пример такого приложения — habrahabr.ru/search/?q=%D1%82%D1%80%D0%B5%D0%BB%D1%8C%D1%8F%D0%B6
Да, сам Торнадо это однопоточные воркеры в каждом из которых крутится свой ioloop, конечно же нам ничего не мешает дернуть поток из кода в статье про опыт создания трельяжа хорошо описано, как корректно это производить.

Хотим мегараспараллеливания — добро пожаловать в Stackless, на синтетике он умудряется уделывать Erlang так, что даже не смешно: muharem.wordpress.com/2007/07/31/erlang-vs-stackless-python-a-first-benchmark/

Ничто не мешает написать на нем хотя бы микромодуль там где нужны ну совсем уж множественные и «честные» триды.
что-то он у меня не хочет работать с третьим питоном. Код вообще не заточен под python 3 – вся поддержка заключается в пропуске исходников через 2to3
Sign up to leave a comment.

Articles