duck.template.environment

Module containing template specific classes.

Module Contents

Classes

DjangoEngine

Django engine class.

Engine

Engine class for templates.

Jinja2Engine

Jinja2 engine class.

Template

Template class for all base templates.

Functions

default_django_engine

Returns the default Django template engine. This caches the result by default.

default_jinja2_engine

Returns the default Jinja2 template engine. This caches the result by default.

API

class duck.template.environment.DjangoEngine(autoescape: bool = True, libraries: Optional[List[str]] = None, _django_engine: Optional[Any] = None, loaders: List[str] = None)

Bases: duck.template.environment.Engine

Django engine class.

Initialization

__slots__

None

apply_templatetags(builtin_libraries: Optional[List[str]] = None, custom_libraries: Optional[Dict[str, str]] = None)

This applies template tags or filters to the engine.

classmethod get_default()

Returns the default Django engine.

get_default_django_engine()

Returns the django default template engine.

render_template(template: duck.template.environment.Template) str

Returns rendered content.

setup_django_engine()

Setups the inner django engine.

class duck.template.environment.Engine

Engine class for templates.

… admonition:: Notes

For all engines, Duck internal and custom template tags and filters are enabled by default.

classmethod get_default()

Returns the default template engine, i.e. DjangoEngine.

get_template(template_name: str) str

Custom method for retrieving template data accordingly.

abstractmethod render_template(template: duck.template.environment.Template)

Returns rendered content.

class duck.template.environment.Jinja2Engine(autoescape: bool = True, custom_templatetags: Optional[List[Union[duck.template.templatetags.TemplateTag, duck.template.templatetags.TemplateFilter]]] = None, environment: Optional[jinja2.Environment] = None, loader: Any = None)

Bases: duck.template.environment.Engine

Jinja2 engine class.

Initialization

__slots__

None

apply_templatetags(templatetags: Optional[List[Union[duck.template.templatetags.TemplateTag, duck.template.templatetags.TemplateFilter]]] = None)

This applies template tags or filters to the jinja2 environment.

Parameters:

templatetags – List of template tags or filters.

get_default_environment() jinja2.Environment

Returns the appropriate jinja2 environment.

render_template(template: duck.template.environment.Template) str

This renders a template into static content.

Parameters:

template – The template object.

Returns:

Rendered template as string

Return type:

rendered_template (str)

setup_environment()

Setups the jinja2 environment.

class duck.template.environment.Template(context: Optional[Dict] = None, name: Optional[str] = None, origin: Optional[str] = None, engine: duck.template.environment.Engine = None)

Template class for all base templates.

Initialization

Initialize template class.

Parameters:
  • context – The template context

  • name – The name of the template. Name will be resolved from origin.

  • origin – The asolute template path.

  • engine – The template engine.

__slots__

None

render_template() str
duck.template.environment.default_django_engine() DjangoEngine

Returns the default Django template engine. This caches the result by default.

duck.template.environment.default_jinja2_engine() Jinja2Engine

Returns the default Jinja2 template engine. This caches the result by default.