Недавно прочитал шутку, что каждый питоразработчик начинает знакомство с вебом с написания своего шаблонизатора и иосознал, что я этого не могу придумать, как его написать.
Как правильно парсить шаблоны? Регулярками? А потом мучиться с рекурсивными конструкциями? Написать свои грамматики на каком-нибудь пеге? А это не слишком медленно?
Как подойти к кэшированию? Знаю, что многие php-шаблонизаторы транслируют шаблон в php-код в /tmp, и оттуда собственно и отдают. Насколько это применимо к питону? Или всё держать в памяти? А не толсто ли это?
Получу ли я выигрыш, если шаблонизатор будет написан на Cython? За счет строгой типизации можно получить выигрыш в памяти. Может что-то еще?
И как дополнительный вопрос. Я его врядли буду где использовать, но было бы интересно еще и заинтегрировать его в Django. Что-то не загугливается, как подменить django-шаблонизатор.
В том и дело, что не хочу тянуть чужую реализацию. Хочу абстрактно пообсуждать, какая реализация была бы лучше.
За TEMPLATE_LOADERS - спасибо, как я мог не найти =(