Module

utils.template_keys

Canonical template name normalization for cache keys and import_stack lookups.

Functions

normalize_template_name 1 str
Normalize template name for cache keys and import_stack lookups. - Strip white…
def normalize_template_name(name: str) -> str

Normalize template name for cache keys and import_stack lookups.

  • Strip whitespace
  • Normalize path separators to /
  • Reject .. and path traversal (raises TemplateNotFoundError)
Parameters
Name Type Description
name str

Raw template name from {% extends %}, {% include %}, etc.

Returns
str
resolve_template_name 2 str
Resolve a template name to a canonical root-relative form. Handles ``./`` and …
def resolve_template_name(name: str, caller: str | None = None) -> str

Resolve a template name to a canonical root-relative form.

Handles./ and ../prefixes by resolving against the caller template's directory. Falls through tonormalize_template_name() for absolute (root-relative) names.

Parameters
Name Type Description
name str

Raw template name. May start with./ or ../for relative resolution.

caller str | None

Logical name of the template issuing the request (e.g."pages/about.html"). Required when nameis relative.

Default:None
Returns
str