class documentation

class PrefixLoader(BaseLoader): (source)

View In Hierarchy

A loader that is passed a dict of loaders where each loader is bound to a prefix. The prefix is delimited from the template by a slash per default, which can be changed by setting the `delimiter` argument to something else:: loader = PrefixLoader({ 'app1': PackageLoader('mypackage.app1'), 'app2': PackageLoader('mypackage.app2') }) By loading ``'app1/index.html'`` the file from the app1 package is loaded, by loading ``'app2/index.html'`` the file from the second.

Method __init__ Undocumented
Method get_loader Undocumented
Method get_source Get the template source, filename and reload helper for a template. It's passed the environment and template name and has to return a tuple in the form ``(source, filename, uptodate)`` or raise a `TemplateNotFound` error if it can't locate the template.
Method list_templates Iterates over all templates. If the loader does not support that it should raise a :exc:`TypeError` which is the default behavior.
Method load Loads a template. This method looks up the template in the cache or loads one by calling :meth:`get_source`. Subclasses should not override this method as loaders working on collections of other loaders (such as :class:`PrefixLoader` or :class:`ChoiceLoader`) will not call this method but `get_source` directly.
Instance Variable delimiter Undocumented
Instance Variable mapping Undocumented

Inherited from BaseLoader:

Class Variable has_source_access Undocumented
def __init__(self, mapping, delimiter='/'): (source)

Undocumented

Parameters
mapping:t.Mapping[str, BaseLoader]Undocumented
delimiter:strUndocumented
def get_loader(self, template): (source)

Undocumented

Parameters
template:strUndocumented
Returns
t.Tuple[BaseLoader, str]Undocumented
def get_source(self, environment, template): (source)

Get the template source, filename and reload helper for a template. It's passed the environment and template name and has to return a tuple in the form ``(source, filename, uptodate)`` or raise a `TemplateNotFound` error if it can't locate the template. The source part of the returned tuple must be the source of the template as a string. The filename should be the name of the file on the filesystem if it was loaded from there, otherwise ``None``. The filename is used by Python for the tracebacks if no loader extension is used. The last item in the tuple is the `uptodate` function. If auto reloading is enabled it's always called to check if the template changed. No arguments are passed so the function must store the old state somewhere (for example in a closure). If it returns `False` the template will be reloaded.

Parameters
environment:EnvironmentUndocumented
template:strUndocumented
Returns
t.Tuple[str, t.Optional[str], t.Optional[t.Callable[[], bool]]]Undocumented
def list_templates(self): (source)

Iterates over all templates. If the loader does not support that it should raise a :exc:`TypeError` which is the default behavior.

Returns
t.List[str]Undocumented
@internalcode
def load(self, environment, name, globals=None): (source)

Loads a template. This method looks up the template in the cache or loads one by calling :meth:`get_source`. Subclasses should not override this method as loaders working on collections of other loaders (such as :class:`PrefixLoader` or :class:`ChoiceLoader`) will not call this method but `get_source` directly.

Parameters
environment:EnvironmentUndocumented
name:strUndocumented
globals:t.Optional[t.MutableMapping[str, t.Any]]Undocumented
Returns
TemplateUndocumented
delimiter = (source)

Undocumented

mapping = (source)

Undocumented