py.lib.aw_web_tools
py.lib.aw_web_tools/src/aw_web_tools/simple_template_helper.py
.. 1.202503.4 + Режим разработки для шаблонов
1.1 --- a/src/aw_web_tools/simple_template_helper.py Sun Mar 02 15:58:06 2025 +0300 1.2 +++ b/src/aw_web_tools/simple_template_helper.py Sun Mar 09 11:39:38 2025 +0300 1.3 @@ -14,9 +14,11 @@ 1.4 1.5 1.6 class SimpleTmplWrapper(object): 1.7 - def __init__(self, file_name: str, **static_params): 1.8 + def __init__(self, file_name: str, devel_mode: bool = False, **static_params): 1.9 """ 1.10 :param file_name: Имя файла шаблона, по которому его сможет отыскать класс ``SimpleTemplate`` 1.11 + :param devel_mode: Режим разработки. Полезен когда шаблон постоянно изменяется в процессе работы над ним 1.12 + и при каждом ответе его следует перечитывать 1.13 :param static_params: Параметры, добавляемые в шаблон страницы при каждой генерации 1.14 """ 1.15 try: 1.16 @@ -26,10 +28,11 @@ 1.17 raise ValueError(f'Ошибка в инициализации шаблона: {e}') 1.18 1.19 self.static_params = static_params 1.20 + self.devel_mode = devel_mode 1.21 1.22 def __call__(self, **params): 1.23 """\ 1.24 - Сгенерировать страницу по шаблону, обёткой которого является этот класс 1.25 + Сгенерировать страницу по шаблону, обёрткой которого является этот класс 1.26 1.27 :param params: Параметры шаблона, которые обновляют заданные при инициализации класса параметры и передаются 1.28 в метод ``SimpleTemplate.render()`` через параметры ключ-значение. 1.29 @@ -37,6 +40,9 @@ 1.30 """ 1.31 kw_params = self.static_params.copy() 1.32 kw_params.update(params) 1.33 + if self.devel_mode: 1.34 + self.tmpl.prepare() 1.35 + 1.36 return self.tmpl.render(**kw_params) 1.37 1.38 @staticmethod