2014-12-28 01:57:01 +08:00
|
|
|
"""
|
|
|
|
Django's support for templates.
|
|
|
|
|
|
|
|
The django.template namespace contains two independent subsystems:
|
|
|
|
|
|
|
|
1. Multiple Template Engines: support for pluggable template backends,
|
|
|
|
built-in backends and backend-independent APIs
|
2015-01-17 09:47:06 +08:00
|
|
|
2. Django Template Language: Django's own template engine, including its
|
2014-12-28 01:57:01 +08:00
|
|
|
built-in loaders, context processors, tags and filters.
|
|
|
|
|
|
|
|
Ideally these subsystems would be implemented in distinct packages. However
|
|
|
|
keeping them together made the implementation of Multiple Template Engines
|
|
|
|
less disruptive .
|
|
|
|
|
|
|
|
Here's a breakdown of which modules belong to which subsystem.
|
|
|
|
|
|
|
|
Multiple Template Engines:
|
|
|
|
|
|
|
|
- django.template.backends.*
|
|
|
|
- django.template.loader
|
|
|
|
- django.template.response
|
|
|
|
|
|
|
|
Django Template Language:
|
|
|
|
|
|
|
|
- django.template.base
|
|
|
|
- django.template.context
|
|
|
|
- django.template.context_processors
|
|
|
|
- django.template.loaders.*
|
|
|
|
- django.template.debug
|
|
|
|
- django.template.defaultfilters
|
|
|
|
- django.template.defaulttags
|
|
|
|
- django.template.engine
|
|
|
|
- django.template.loader_tags
|
|
|
|
- django.template.smartif
|
|
|
|
|
|
|
|
Shared:
|
|
|
|
|
|
|
|
- django.template.utils
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
2015-02-06 02:25:34 +08:00
|
|
|
# Multiple Template Engines
|
2014-11-11 23:32:19 +08:00
|
|
|
|
2015-01-04 05:50:20 +08:00
|
|
|
from .engine import Engine
|
|
|
|
|
2014-11-11 23:32:19 +08:00
|
|
|
from .utils import EngineHandler
|
|
|
|
|
|
|
|
|
|
|
|
engines = EngineHandler()
|
|
|
|
|
2015-01-04 05:50:20 +08:00
|
|
|
__all__ = ('Engine', 'engines')
|
2014-11-11 23:32:19 +08:00
|
|
|
|
|
|
|
|
2015-02-06 02:25:34 +08:00
|
|
|
# Django Template Language
|
2014-11-11 23:32:19 +08:00
|
|
|
|
2014-11-11 04:40:26 +08:00
|
|
|
# Public exceptions
|
|
|
|
from .base import (TemplateDoesNotExist, TemplateSyntaxError, # NOQA
|
|
|
|
VariableDoesNotExist)
|
|
|
|
from .context import ContextPopException # NOQA
|
2010-11-27 13:47:30 +08:00
|
|
|
|
|
|
|
# Template parts
|
2014-11-11 04:40:26 +08:00
|
|
|
from .base import (Context, Node, NodeList, RequestContext, # NOQA
|
|
|
|
StringOrigin, Template, Variable)
|
2010-11-27 13:47:30 +08:00
|
|
|
|
2014-11-11 04:40:26 +08:00
|
|
|
# Deprecated in Django 1.8, will be removed in Django 2.0.
|
|
|
|
from .base import resolve_variable # NOQA
|
2010-11-27 13:47:30 +08:00
|
|
|
|
|
|
|
# Library management
|
2014-11-11 04:40:26 +08:00
|
|
|
from .base import Library # NOQA
|
|
|
|
|
2005-07-13 09:25:57 +08:00
|
|
|
|
2014-11-11 23:32:19 +08:00
|
|
|
__all__ += ('Template', 'Context', 'RequestContext')
|