Задать вопрос

Как написать свой шаблонизатор на питоне?

Недавно прочитал шутку, что каждый питоразработчик начинает знакомство с вебом с написания своего шаблонизатора и иосознал, что я этого не могу придумать, как его написать.

Как правильно парсить шаблоны? Регулярками? А потом мучиться с рекурсивными конструкциями? Написать свои грамматики на каком-нибудь пеге? А это не слишком медленно?

Как подойти к кэшированию? Знаю, что многие php-шаблонизаторы транслируют шаблон в php-код в /tmp, и оттуда собственно и отдают. Насколько это применимо к питону? Или всё держать в памяти? А не толсто ли это?

Получу ли я выигрыш, если шаблонизатор будет написан на Cython? За счет строгой типизации можно получить выигрыш в памяти. Может что-то еще?

И как дополнительный вопрос. Я его врядли буду где использовать, но было бы интересно еще и заинтегрировать его в Django. Что-то не загугливается, как подменить django-шаблонизатор.
  • Вопрос задан
  • 2743 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Пригласить эксперта
Ответы на вопрос 2
mututunus
@mututunus
Backend developer (Python, Golang)
Посмотрите на реализацию в Django и Jinja.
Использовать кастомные шаблоны в Django можно через TEMPLATE_LOADERS (пример https://github.com/yuchant/django-jinja2).
Ответ написан
@asd111
Регулярки + eval
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы