====== Мотивация ====== При работе с ''SimpleTemplate'' появилось ощущение, что при создании приложений придётся часто повторно использовать различные шаблоны, а также иметь их как осязаемый объект в IDE. Поэтому было написано ЭТО. ====== Параметры модуля ====== ===== TMPL_ROOT ===== Хранит кортеж каталогов, в которых будет произведён поиск файлов шаблонов и их компонентов. Напрямую данный параметр лучше не менять, а использовать соответствующие методы класса ''SimpleTmplWrapper'', описанные далее. По умолчанию используется текущий каталог приложения. ====== Объект SimpleTmplWrapper ====== ===== Методы ===== ==== Конструктор ==== ^ Параметр ^ Тип ^ Описание ^ | ''file_name'' | ''str'' | Имя файла шаблона. Может быть указано без расширения, тогда поиск производится последовательным добавлением расширений ''tpl'', ''html'', ''thtml'', ''stpl'' | | ''%%**%%static_params'' | Любое число именованных параметров | Данные параметры передаются при любом формировании страницы из шаблона в функцию ``SimpleTemplate.render()``, вне зависимости от того, какие параметры переданы или не переданы в момент формирования. Параметры, переданные в момент формирования страницы, естественно имеют приоритет | Поиск файла шаблона и его компонентов производится в согласно списка каталогов данных в [[#TMPL_ROOT|TMPL_ROOT]] ==== Вызов объекта () ==== При вызове объекта, как метода, генерируется непосредственно страница. Метод может принимать параметры шаблона в качестве именованных параметров данного метода, которые дополняют либо переопределяют параметры заданные в конструкторе объекта. ==== set_root() ==== Задаёт новую директорию для поиска шаблонов, при этом старый список удаляется. В качестве параметров принимает либо новый каталог, задаваемый в переменную модуля [[#TMPL_ROOT|TMPL_ROOT]], либо компоненты, которые сводятся вместе с использованием метода ''os.path.join()'' ==== add_root() ==== Аналогичен методу ''set_root()'', кроме того, что он не заменяет каталоги а добавляет в список ещё один. ===== Методы класса ===== ==== init_devel_factory() ==== Вместо объекта создаётся фабрика объектов, при каждом вызове которой инициализируется новый объект. Помогает в работе над шаблонами. В частности, препятствует кешированию и способствует перечитыванию файла с шаблоном на каждом вызове данного шаблона в коде ^ Параметр ^ Тип ^ Описание ^ | ''file_name'' | ''str'' | Имя файла шаблона. Может быть указано без расширения, тогда поиск производится последовательным добавлением расширений ''tpl'', ''html'', ''thtml'', ''stpl'' | | ''%%**%%static_params'' | Любое число именованных параметров | Данные параметры передаются при любом формировании страницы из шаблона в функцию SimpleTemplate.render(), вне зависимости от того, какие параметры переданы или не переданы в момент формирования. Параметры, переданные в момент формирования страницы, естественно имеют приоритет | ====== Предполагаемая последовательность использования инструмента ====== Автор мыслил использование данного класса в модуле приложения, где формируются объекты шаблона. При этом порядок данного применения должен быть примерно следующим - Задаём каталог с шаблонами, используя методы ''set_root()'' и ''add_root()'' (если требуется) - Формируем набор объектов страниц, вызывая конструктор на каждый созданных шаблон. - Импортируем объекты страниц в те модули приложения, где они будут использоваться.