Skip to content

Commit e4f9943

Browse files
committed
Remove template_render compat
Plus isort.
1 parent b313642 commit e4f9943

File tree

15 files changed

+40
-64
lines changed

15 files changed

+40
-64
lines changed

rest_framework/authtoken/management/commands/drf_create_token.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from django.contrib.auth import get_user_model
22
from django.core.management.base import BaseCommand, CommandError
3-
from rest_framework.authtoken.models import Token
43

4+
from rest_framework.authtoken.models import Token
55

66
UserModel = get_user_model()
77

rest_framework/compat.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -305,29 +305,6 @@ def set_rollback():
305305
pass
306306

307307

308-
# TODO: Remove
309-
def template_render(template, context=None, request=None):
310-
"""
311-
Passing Context or RequestContext to Template.render is deprecated in 1.9+,
312-
see https://github.com/django/django/pull/3883 and
313-
https://github.com/django/django/blob/1.9/django/template/backends/django.py#L82-L84
314-
315-
:param template: Template instance
316-
:param context: dict
317-
:param request: Request instance
318-
:return: rendered template as SafeText instance
319-
"""
320-
if isinstance(template, Template):
321-
if request:
322-
context = RequestContext(request, context)
323-
else:
324-
context = Context(context)
325-
return template.render(context)
326-
# backends template, e.g. django.template.backends.django.Template
327-
else:
328-
return template.render(context, request=request)
329-
330-
331308
# TODO: Remove
332309
def set_many(instance, field, value):
333310
if django.VERSION < (1, 10):

rest_framework/fields.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
from rest_framework import ISO_8601
3333
from rest_framework.compat import (
3434
InvalidTimeError, MaxLengthValidator, MaxValueValidator,
35-
MinLengthValidator, MinValueValidator, unicode_repr,
36-
unicode_to_repr
35+
MinLengthValidator, MinValueValidator, unicode_repr, unicode_to_repr
3736
)
3837
from rest_framework.exceptions import ErrorDetail, ValidationError
3938
from rest_framework.settings import api_settings

rest_framework/filters.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
from django.utils.encoding import force_text
1717
from django.utils.translation import ugettext_lazy as _
1818

19-
from rest_framework.compat import (
20-
coreapi, coreschema, distinct, guardian, template_render
21-
)
19+
from rest_framework.compat import coreapi, coreschema, distinct, guardian
2220
from rest_framework.settings import api_settings
2321

2422

@@ -129,7 +127,7 @@ def to_html(self, request, queryset, view):
129127
'term': term
130128
}
131129
template = loader.get_template(self.template)
132-
return template_render(template, context)
130+
return template.render(context)
133131

134132
def get_schema_fields(self, view):
135133
assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'
@@ -260,7 +258,7 @@ def get_template_context(self, request, queryset, view):
260258
def to_html(self, request, queryset, view):
261259
template = loader.get_template(self.template)
262260
context = self.get_template_context(request, queryset, view)
263-
return template_render(template, context)
261+
return template.render(context)
264262

265263
def get_schema_fields(self, view):
266264
assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'

rest_framework/pagination.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from django.utils.six.moves.urllib import parse as urlparse
1717
from django.utils.translation import ugettext_lazy as _
1818

19-
from rest_framework.compat import coreapi, coreschema, template_render
19+
from rest_framework.compat import coreapi, coreschema
2020
from rest_framework.exceptions import NotFound
2121
from rest_framework.response import Response
2222
from rest_framework.settings import api_settings
@@ -285,7 +285,7 @@ def page_number_to_url(page_number):
285285
def to_html(self):
286286
template = loader.get_template(self.template)
287287
context = self.get_html_context()
288-
return template_render(template, context)
288+
return template.render(context)
289289

290290
def get_schema_fields(self, view):
291291
assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'
@@ -442,7 +442,7 @@ def page_number_to_url(page_number):
442442
def to_html(self):
443443
template = loader.get_template(self.template)
444444
context = self.get_html_context()
445-
return template_render(template, context)
445+
return template.render(context)
446446

447447
def get_schema_fields(self, view):
448448
assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'
@@ -793,7 +793,7 @@ def get_html_context(self):
793793
def to_html(self):
794794
template = loader.get_template(self.template)
795795
context = self.get_html_context()
796-
return template_render(template, context)
796+
return template.render(context)
797797

798798
def get_schema_fields(self, view):
799799
assert coreapi is not None, 'coreapi must be installed to use `get_schema_fields()`'

rest_framework/renderers.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616
from django.core.exceptions import ImproperlyConfigured
1717
from django.core.paginator import Page
1818
from django.http.multipartparser import parse_header
19-
from django.template import Template, loader
19+
from django.template import engines, loader
2020
from django.test.client import encode_multipart
2121
from django.utils import six
2222
from django.utils.html import mark_safe
2323

2424
from rest_framework import VERSION, exceptions, serializers, status
2525
from rest_framework.compat import (
2626
INDENT_SEPARATORS, LONG_SEPARATORS, SHORT_SEPARATORS, coreapi,
27-
pygments_css, template_render
27+
pygments_css
2828
)
2929
from rest_framework.exceptions import ParseError
3030
from rest_framework.request import is_form_media_type, override_method
@@ -173,7 +173,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
173173
context = self.resolve_context(data, request, response)
174174
else:
175175
context = self.get_template_context(data, renderer_context)
176-
return template_render(template, context, request=request)
176+
return template.render(context, request=request)
177177

178178
def resolve_template(self, template_names):
179179
return loader.select_template(template_names)
@@ -206,8 +206,9 @@ def get_exception_template(self, response):
206206
return self.resolve_template(template_names)
207207
except Exception:
208208
# Fall back to using eg '404 Not Found'
209-
return Template('%d %s' % (response.status_code,
210-
response.status_text.title()))
209+
body = '%d %s' % (response.status_code, response.status_text.title())
210+
template = engines['django'].from_string(body)
211+
return template
211212

212213

213214
# Note, subclass TemplateHTMLRenderer simply for the exception behavior
@@ -239,7 +240,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
239240
context = self.resolve_context(data, request, response)
240241
else:
241242
context = self.get_template_context(data, renderer_context)
242-
return template_render(template, context, request=request)
243+
return template.render(context, request=request)
243244

244245
return data
245246

@@ -347,7 +348,7 @@ def render_field(self, field, parent_style):
347348

348349
template = loader.get_template(template_name)
349350
context = {'field': field, 'style': style}
350-
return template_render(template, context)
351+
return template.render(context)
351352

352353
def render(self, data, accepted_media_type=None, renderer_context=None):
353354
"""
@@ -368,7 +369,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
368369
'form': form,
369370
'style': style
370371
}
371-
return template_render(template, context)
372+
return template.render(context)
372373

373374

374375
class BrowsableAPIRenderer(BaseRenderer):
@@ -625,7 +626,7 @@ def get_filter_form(self, data, view, request):
625626

626627
template = loader.get_template(self.filter_template)
627628
context = {'elements': elements}
628-
return template_render(template, context)
629+
return template.render(context)
629630

630631
def get_context(self, data, accepted_media_type, renderer_context):
631632
"""
@@ -705,7 +706,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
705706

706707
template = loader.get_template(self.template)
707708
context = self.get_context(data, accepted_media_type, renderer_context)
708-
ret = template_render(template, context, request=renderer_context['request'])
709+
ret = template.render(context, request=renderer_context['request'])
709710

710711
# Munge DELETE Response code to allow us to return content
711712
# (Do this *after* we've rendered the template so that we include
@@ -741,7 +742,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
741742

742743
template = loader.get_template(self.template)
743744
context = self.get_context(data, accepted_media_type, renderer_context)
744-
ret = template_render(template, context, request=renderer_context['request'])
745+
ret = template.render(context, request=renderer_context['request'])
745746

746747
# Creation and deletion should use redirects in the admin style.
747748
if response.status_code == status.HTTP_201_CREATED and 'Location' in response:
@@ -819,7 +820,7 @@ def get_context(self, data, request):
819820
def render(self, data, accepted_media_type=None, renderer_context=None):
820821
template = loader.get_template(self.template)
821822
context = self.get_context(data, renderer_context['request'])
822-
return template_render(template, context, request=renderer_context['request'])
823+
return template.render(context, request=renderer_context['request'])
823824

824825

825826
class SchemaJSRenderer(BaseRenderer):
@@ -835,7 +836,7 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
835836
template = loader.get_template(self.template)
836837
context = {'schema': mark_safe(schema)}
837838
request = renderer_context['request']
838-
return template_render(template, context, request=request)
839+
return template.render(context, request=request)
839840

840841

841842
class MultiPartRenderer(BaseRenderer):

rest_framework/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
back to the defaults.
2020
"""
2121
from __future__ import unicode_literals
22+
2223
from importlib import import_module
2324

2425
from django.conf import settings

rest_framework/templatetags/rest_framework.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
from django.utils.safestring import SafeData, mark_safe
1212

1313
from rest_framework.compat import (
14-
NoReverseMatch, apply_markdown, pygments_highlight, reverse,
15-
template_render
14+
NoReverseMatch, apply_markdown, pygments_highlight, reverse
1615
)
1716
from rest_framework.renderers import HTMLFormRenderer
1817
from rest_framework.utils.urls import replace_query_param
@@ -216,11 +215,11 @@ def format_value(value):
216215
else:
217216
template = loader.get_template('rest_framework/admin/simple_list_value.html')
218217
context = {'value': value}
219-
return template_render(template, context)
218+
return template.render(context)
220219
elif isinstance(value, dict):
221220
template = loader.get_template('rest_framework/admin/dict_value.html')
222221
context = {'value': value}
223-
return template_render(template, context)
222+
return template.render(context)
224223
elif isinstance(value, six.string_types):
225224
if (
226225
(value.startswith('http:') or value.startswith('https:')) and not

rest_framework/utils/model_meta.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"""
88
from collections import OrderedDict, namedtuple
99

10-
1110
FieldInfo = namedtuple('FieldResult', [
1211
'pk', # Model field instance
1312
'fields', # Dict of field name -> model field instance

tests/test_authentication.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
HTTP_HEADER_ENCODING, exceptions, permissions, renderers, status
1717
)
1818
from rest_framework.authentication import (
19-
BaseAuthentication, BasicAuthentication, RemoteUserAuthentication, SessionAuthentication,
20-
TokenAuthentication)
19+
BaseAuthentication, BasicAuthentication, RemoteUserAuthentication,
20+
SessionAuthentication, TokenAuthentication
21+
)
2122
from rest_framework.authtoken.models import Token
2223
from rest_framework.authtoken.views import obtain_auth_token
2324
from rest_framework.response import Response

tests/test_htmlrenderer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.conf.urls import url
66
from django.core.exceptions import ImproperlyConfigured, PermissionDenied
77
from django.http import Http404
8-
from django.template import Template, TemplateDoesNotExist
8+
from django.template import TemplateDoesNotExist, engines
99
from django.test import TestCase, override_settings
1010
from django.utils import six
1111

@@ -60,12 +60,12 @@ def _monkey_patch_get_template(self):
6060

6161
def get_template(template_name, dirs=None):
6262
if template_name == 'example.html':
63-
return Template("example: {{ object }}")
63+
return engines['django'].from_string("example: {{ object }}")
6464
raise TemplateDoesNotExist(template_name)
6565

6666
def select_template(template_name_list, dirs=None, using=None):
6767
if template_name_list == ['example.html']:
68-
return Template("example: {{ object }}")
68+
return engines['django'].from_string("example: {{ object }}")
6969
raise TemplateDoesNotExist(template_name_list[0])
7070

7171
django.template.loader.get_template = get_template
@@ -139,9 +139,9 @@ def setUp(self):
139139

140140
def get_template(template_name):
141141
if template_name == '404.html':
142-
return Template("404: {{ detail }}")
142+
return engines['django'].from_string("404: {{ detail }}")
143143
if template_name == '403.html':
144-
return Template("403: {{ detail }}")
144+
return engines['django'].from_string("403: {{ detail }}")
145145
raise TemplateDoesNotExist(template_name)
146146

147147
django.template.loader.get_template = get_template

tests/test_one_to_one_with_inheritance.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
from rest_framework import serializers
77
from tests.models import RESTFrameworkModel
8-
9-
108
# Models
119
from tests.test_multitable_inheritance import ChildModel
1210

tests/test_relations_pk.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
from rest_framework import serializers
77
from tests.models import (
88
ForeignKeySource, ForeignKeyTarget, ManyToManySource, ManyToManyTarget,
9-
NullableForeignKeySource, NullableOneToOneSource, NullableUUIDForeignKeySource,
10-
OneToOnePKSource, OneToOneTarget, UUIDForeignKeyTarget
9+
NullableForeignKeySource, NullableOneToOneSource,
10+
NullableUUIDForeignKeySource, OneToOnePKSource, OneToOneTarget,
11+
UUIDForeignKeyTarget
1112
)
1213

1314

tests/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
We need only the docs urls for DocumentationRenderer tests.
55
"""
66
from django.conf.urls import url
7+
78
from rest_framework.documentation import include_docs_urls
89

910
urlpatterns = [

tests/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from django.core.exceptions import ObjectDoesNotExist
2+
23
from rest_framework.compat import NoReverseMatch
34

45

0 commit comments

Comments
 (0)