diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-11-22 21:21:30 +0100 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2014-11-23 11:52:25 +0100 |
| commit | 240ea67ce03b2fe3daeabd7bc6fd1efd95997013 (patch) | |
| tree | 583a00b1dac505445b58e403631dac0088691d7b /django/template/engine.py | |
| parent | 5b1bb40216ff452e34198345fdad63e2be370d2c (diff) | |
Move compile_string into the Engine class.
Diffstat (limited to 'django/template/engine.py')
| -rw-r--r-- | django/template/engine.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/django/template/engine.py b/django/template/engine.py index 9a0f4fc2f0..ef5bcf628b 100644 --- a/django/template/engine.py +++ b/django/template/engine.py @@ -8,7 +8,7 @@ from django.utils.deprecation import RemovedInDjango20Warning from django.utils.functional import cached_property 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() @@ -200,3 +200,17 @@ class Engine(object): continue # If we get here, none of the templates could be loaded 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() |
