[1.8.x] Fixed a few uses of Template that relied on a default engine.

Refs #24389.

Backport of 556a748 from master
This commit is contained in:
Aymeric Augustin 2015-02-22 19:14:05 +01:00
parent ddc1e0c0fb
commit 19c2fe04a8
3 changed files with 10 additions and 8 deletions

View File

@ -13,7 +13,7 @@ from os import path
import django import django
from django.core.management.base import BaseCommand, CommandError from django.core.management.base import BaseCommand, CommandError
from django.core.management.utils import handle_extensions from django.core.management.utils import handle_extensions
from django.template import Context, Template from django.template import Context, Engine
from django.utils import archive from django.utils import archive
from django.utils._os import rmtree_errorhandler from django.utils._os import rmtree_errorhandler
from django.utils.six.moves.urllib.request import urlretrieve from django.utils.six.moves.urllib.request import urlretrieve
@ -148,7 +148,7 @@ class TemplateCommand(BaseCommand):
content = template_file.read() content = template_file.read()
if filename.endswith(extensions) or filename in extra_files: if filename.endswith(extensions) or filename in extra_files:
content = content.decode('utf-8') content = content.decode('utf-8')
template = Template(content) template = Engine().from_string(content)
content = template.render(context) content = template.render(context)
content = content.encode('utf-8') content = content.encode('utf-8')
with open(new_path, 'wb') as new_file: with open(new_path, 'wb') as new_file:

View File

@ -6,7 +6,7 @@ import os
from django import http from django import http
from django.apps import apps from django.apps import apps
from django.conf import settings from django.conf import settings
from django.template import Context, Template from django.template import Context, Engine
from django.utils import six from django.utils import six
from django.utils._os import upath from django.utils._os import upath
from django.utils.encoding import smart_text from django.utils.encoding import smart_text
@ -178,7 +178,7 @@ js_catalog_template = r"""
def render_javascript_catalog(catalog=None, plural=None): def render_javascript_catalog(catalog=None, plural=None):
template = Template(js_catalog_template) template = Engine().from_string(js_catalog_template)
indent = lambda s: s.replace('\n', '\n ') indent = lambda s: s.replace('\n', '\n ')
context = Context({ context = Context({
'catalog_str': indent(json.dumps( 'catalog_str': indent(json.dumps(

View File

@ -14,7 +14,7 @@ from django.http import (
FileResponse, Http404, HttpResponse, HttpResponseNotModified, FileResponse, Http404, HttpResponse, HttpResponseNotModified,
HttpResponseRedirect, HttpResponseRedirect,
) )
from django.template import Context, Template, TemplateDoesNotExist, loader from django.template import Context, Engine, TemplateDoesNotExist, loader
from django.utils.http import http_date, parse_http_date from django.utils.http import http_date, parse_http_date
from django.utils.six.moves.urllib.parse import unquote from django.utils.six.moves.urllib.parse import unquote
from django.utils.translation import ugettext as _, ugettext_lazy from django.utils.translation import ugettext as _, ugettext_lazy
@ -102,10 +102,12 @@ template_translatable = ugettext_lazy("Index of %(directory)s")
def directory_index(path, fullpath): def directory_index(path, fullpath):
try: try:
t = loader.select_template(['static/directory_index.html', t = loader.select_template([
'static/directory_index']) 'static/directory_index.html',
'static/directory_index',
])
except TemplateDoesNotExist: except TemplateDoesNotExist:
t = Template(DEFAULT_DIRECTORY_INDEX_TEMPLATE, name='Default directory index template') t = Engine().from_string(DEFAULT_DIRECTORY_INDEX_TEMPLATE)
files = [] files = []
for f in os.listdir(fullpath): for f in os.listdir(fullpath):
if not f.startswith('.'): if not f.startswith('.'):