vinegar.template¶
Module API¶
Renderers for various template languages.
Template engines are used to render template files, enriching them with information provided through a context. They are the primary way of generating customized files based on configuration information.
The vinegar.template.jinja module provides a template engine using the
powerful Jinja 2 library. An instance of that engine can be retrieved by
calling get_template_engine with name set to jinja.
All template engine modules have in common that they must specify a
get_instance function that takes a dict with configuration data as its only
parameter. This function must return an instance of TemplateEngine.
Template engines are thread safe.
-
class
vinegar.template.TemplateEngine¶ Renderer for template files.
A template engine is used to read template files and provide the output of the rendering process.
Each template engine has to implement the
rendermethod. This method is used to read a template file and returns is rendering result as a string.Template engines have to be implemented in a thread-safe manner, so that
rendercan safely be used by different threads.-
abstract
render(template_path: str, context: Mapping[str, Any]) → str¶ Render the template file specified by
template_pathand return the result.- Parameters
template_path – path to the template file.
- Param
context: context available to the template. The objects supplied by this mapping should be made available to the template code when rendering. The details of how the context objects are made available depends on the template engine.
- Returns
result of rendering the template.
-
abstract
-
vinegar.template.get_template_engine(name: str, config: Mapping[Any, Any]) → vinegar.template.TemplateEngine¶ Create the an instance of the template engine with the specified name, using the specified configuration.
- Parameters
name – name of the template engine. If the name contains a dot, it is treated as an absolute module name. Otherwise it is treated as a name of one of the modules inside the
vinegar.templatemodule.- Param
config: configuration data for the template engine. The meaning of that data is up to the implementation of the template engine.
- Returns
newly created template engine.