/usr/local/lib/python3.9/site-packages/django/template
from . import engines from .exceptions import TemplateDoesNotExist def get_template(template_name, using=None): """ Load and return a template for the given name. Raise TemplateDoesNotExist if no such template exists. """ chain = [] engines = _engine_list(using) for engine in engines: try: return engine.get_template(template_name) except TemplateDoesNotExist as e: chain.append(e) raise TemplateDoesNotExist(template_name, chain=chain) def select_template(template_name_list, using=None): """ Load and return a template for one of the given names. Try names in order and return the first template found. Raise TemplateDoesNotExist if no such template exists. """ if isinstance(template_name_list, str): raise TypeError( "select_template() takes an iterable of template names but got a " "string: %r. Use get_template() if you want to load a single " "template by name." % template_name_list ) chain = [] engines = _engine_list(using) for template_name in template_name_list: for engine in engines: try: return engine.get_template(template_name) except TemplateDoesNotExist as e: chain.append(e) if template_name_list: raise TemplateDoesNotExist(", ".join(template_name_list), chain=chain) else: raise TemplateDoesNotExist("No template names provided") def render_to_string(template_name, context=None, request=None, using=None): """ Load a template and render it with a context. Return a string. template_name may be a string or a list of strings. """ if isinstance(template_name, (list, tuple)): template = select_template(template_name, using=using) else: template = get_template(template_name, using=using) return template.render(context, request) def _engine_list(using=None): return engines.all() if using is None else [engines[using]]
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
autoreload.py
Edit
backends
Edit
base.py
Edit
context.py
Edit
context_processors.py
Edit
defaultfilters.py
Edit
defaulttags.py
Edit
engine.py
Edit
exceptions.py
Edit
library.py
Edit
loader.py
Edit
loader_tags.py
Edit
loaders
Edit
response.py
Edit
smartif.py
Edit
utils.py
Edit