A small wrapper for chameleon page templates to easily fetch and render templates.
pip install chameleon_fetcher
E.g. you have in template dir my_template_dir
a file simple.pt
with
the following content:
<test>${template_name} ${myvar} ${some_var}</test>
You can then do:
from chameleon_fetcher import ChameleonFetcher
cf = ChameleonFetcher('my_template_dir', some_var=42)
output = cf('simple', myvar='test')
assert output == '<test>simple test 42</test>'
Please note how some_var
is set "globally", while for the specific template also a
variable myvar
is used.
The following parameters are accepted by ChameleonFetcher:
- template_dir: the directory where the templates are located
And optionally:
- extension: extension of the template files, defaults to '.pt'
- boolean_attributes: what boolean attributes should be supported, defaults to all valid html boolean attributes. See https://meiert.com/en/blog/boolean-attributes-of-html/
- auto_reload: if the templates should be reloaded on change, defaults to True
- **kwargs: other params you want to have available in all templates, e.g. flask=flask
For using the actual templates, check the fantastic chameleon documentation.