Move compile_string into the Engine class.
This commit is contained in:
parent
5b1bb40216
commit
240ea67ce0
|
@ -69,7 +69,7 @@ from django.template.base import (Context, FilterExpression, Lexer, Node, # NOQ
|
||||||
filter_raw_string)
|
filter_raw_string)
|
||||||
|
|
||||||
# Compiling templates
|
# Compiling templates
|
||||||
from django.template.base import (compile_string, resolve_variable, # NOQA
|
from django.template.base import (resolve_variable, # NOQA
|
||||||
unescape_string_literal, generic_tag_compiler)
|
unescape_string_literal, generic_tag_compiler)
|
||||||
|
|
||||||
# Library management
|
# Library management
|
||||||
|
@ -77,4 +77,4 @@ from django.template.base import (Library, add_to_builtins, builtins, # NOQA
|
||||||
get_library, get_templatetags_modules, get_text_list, import_library,
|
get_library, get_templatetags_modules, get_text_list, import_library,
|
||||||
libraries)
|
libraries)
|
||||||
|
|
||||||
__all__ = ('Template', 'Context', 'RequestContext', 'compile_string')
|
__all__ = ('Template', 'Context', 'RequestContext')
|
||||||
|
|
|
@ -135,7 +135,7 @@ class Template(object):
|
||||||
if engine is None:
|
if engine is None:
|
||||||
from .engine import Engine
|
from .engine import Engine
|
||||||
engine = Engine.get_default()
|
engine = Engine.get_default()
|
||||||
self.nodelist = compile_string(template_string, origin)
|
self.nodelist = engine.compile_string(template_string, origin)
|
||||||
self.name = name
|
self.name = name
|
||||||
self.origin = origin
|
self.origin = origin
|
||||||
self.engine = engine
|
self.engine = engine
|
||||||
|
@ -165,18 +165,6 @@ class Template(object):
|
||||||
context.engine = None
|
context.engine = None
|
||||||
|
|
||||||
|
|
||||||
def compile_string(template_string, origin):
|
|
||||||
"Compiles template_string into NodeList ready for rendering"
|
|
||||||
if settings.TEMPLATE_DEBUG:
|
|
||||||
from django.template.debug import DebugLexer, DebugParser
|
|
||||||
lexer_class, parser_class = DebugLexer, DebugParser
|
|
||||||
else:
|
|
||||||
lexer_class, parser_class = Lexer, Parser
|
|
||||||
lexer = lexer_class(template_string, origin)
|
|
||||||
parser = parser_class(lexer.tokenize())
|
|
||||||
return parser.parse()
|
|
||||||
|
|
||||||
|
|
||||||
class Token(object):
|
class Token(object):
|
||||||
def __init__(self, token_type, contents):
|
def __init__(self, token_type, contents):
|
||||||
# token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or
|
# token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or
|
||||||
|
|
|
@ -8,7 +8,7 @@ from django.utils.deprecation import RemovedInDjango20Warning
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
|
|
||||||
from .base import Context, Template, TemplateDoesNotExist
|
from .base import Context, Lexer, Parser, Template, TemplateDoesNotExist
|
||||||
|
|
||||||
|
|
||||||
_dirs_undefined = object()
|
_dirs_undefined = object()
|
||||||
|
@ -200,3 +200,17 @@ class Engine(object):
|
||||||
continue
|
continue
|
||||||
# If we get here, none of the templates could be loaded
|
# If we get here, none of the templates could be loaded
|
||||||
raise TemplateDoesNotExist(', '.join(not_found))
|
raise TemplateDoesNotExist(', '.join(not_found))
|
||||||
|
|
||||||
|
def compile_string(self, template_string, origin):
|
||||||
|
"""
|
||||||
|
Compiles template_string into a NodeList ready for rendering.
|
||||||
|
"""
|
||||||
|
if settings.TEMPLATE_DEBUG:
|
||||||
|
from .debug import DebugLexer, DebugParser
|
||||||
|
lexer_class, parser_class = DebugLexer, DebugParser
|
||||||
|
else:
|
||||||
|
lexer_class, parser_class = Lexer, Parser
|
||||||
|
lexer = lexer_class(template_string, origin)
|
||||||
|
tokens = lexer.tokenize()
|
||||||
|
parser = parser_class(tokens)
|
||||||
|
return parser.parse()
|
||||||
|
|
|
@ -772,6 +772,8 @@ Miscellaneous
|
||||||
delete a key if ``set()`` fails. This is necessary to ensure the ``cache_db``
|
delete a key if ``set()`` fails. This is necessary to ensure the ``cache_db``
|
||||||
session store always fetches the most current session data.
|
session store always fetches the most current session data.
|
||||||
|
|
||||||
|
* Private API ``django.template.compile_string`` was removed.
|
||||||
|
|
||||||
* Private APIs ``override_template_loaders`` and ``override_with_test_loader``
|
* Private APIs ``override_template_loaders`` and ``override_with_test_loader``
|
||||||
in ``django.test.utils`` were removed. Override ``TEMPLATE_LOADERS`` with
|
in ``django.test.utils`` were removed. Override ``TEMPLATE_LOADERS`` with
|
||||||
``override_settings`` instead.
|
``override_settings`` instead.
|
||||||
|
|
Loading…
Reference in New Issue