Classes
TemplateStructureMixin
4
▼
Mixin for compiling template structure statements.
Host attributes and cross-mixin dependencies ar…
TemplateStructureMixin
4
▼
Mixin for compiling template structure statements.
Host attributes and cross-mixin dependencies are declared via inline TYPE_CHECKING blocks.
Methods
Internal Methods 4 ▼
_compile_block
1
list[ast.stmt]
▼
Compile {% block name %} ... {% endblock %.
Generates: _append(_blocks.get('na…
_compile_block
1
list[ast.stmt]
▼
def _compile_block(self, node: Any) -> list[ast.stmt]
Compile {% block name %} ... {% endblock %.
Generates: _append(_blocks.get('name', _block_name)(ctx, _blocks))
This allows child templates to override blocks by providing their own function in the _blocks dict.
Parameters
| Name | Type | Description |
|---|---|---|
node |
— |
Returns
list[ast.stmt]
_compile_include
1
list[ast.stmt]
▼
Compile {% include "template.html" [with context] %.
Generates: buf.append(_in…
_compile_include
1
list[ast.stmt]
▼
def _compile_include(self, node: Any) -> list[ast.stmt]
Compile {% include "template.html" [with context] %.
Generates: buf.append(_include(template_name, ctx)) where _include is a helper function that loads and renders the template.
Parameters
| Name | Type | Description |
|---|---|---|
node |
— |
Returns
list[ast.stmt]
_compile_from_import
1
list[ast.stmt]
▼
Compile {% from "template.html" import name1, name2 as alias %.
Generates:
…
_compile_from_import
1
list[ast.stmt]
▼
def _compile_from_import(self, node: Any) -> list[ast.stmt]
Compile {% from "template.html" import name1, name2 as alias %.
Generates:
_imported = _import_macros(template_name, with_context, ctx)
ctx['name1'] = _imported['name1']
ctx['alias'] = _imported['name2']
Parameters
| Name | Type | Description |
|---|---|---|
node |
— |
Returns
list[ast.stmt]
_compile_import
1
list[ast.stmt]
▼
Compile {% import "template.html" as f %.
Generates: ctx['f'] = _import_macros…
_compile_import
1
list[ast.stmt]
▼
def _compile_import(self, node: Any) -> list[ast.stmt]
Compile {% import "template.html" as f %.
Generates: ctx['f'] = _import_macros(template_name, with_context, ctx)
Parameters
| Name | Type | Description |
|---|---|---|
node |
— |
Returns
list[ast.stmt]