Fixed #17228 -- params context variable is inconsistent
Remove the params variable from the context and just put the variables in directly. This had not been committed previously as the original pattern was used in the functional generic views and we wanted consistency between them, but django.views.generic.simple.direct_to_template is now gone so we can do it 'right'.
This commit is contained in:
parent
212b9826bd
commit
f04bb6d798
|
@ -142,11 +142,11 @@ class TemplateResponseMixin(object):
|
||||||
|
|
||||||
class TemplateView(TemplateResponseMixin, ContextMixin, View):
|
class TemplateView(TemplateResponseMixin, ContextMixin, View):
|
||||||
"""
|
"""
|
||||||
A view that renders a template. This view is different from all the others
|
A view that renders a template. This view will also pass into the context
|
||||||
insofar as it also passes ``kwargs`` as ``params`` to the template context.
|
any keyword arguments passed by the url conf.
|
||||||
"""
|
"""
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
context = self.get_context_data(params=kwargs)
|
context = self.get_context_data(**kwargs)
|
||||||
return self.render_to_response(context)
|
return self.render_to_response(context)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -144,6 +144,14 @@ year|date:"Y" }}``.
|
||||||
``next_year`` and ``previous_year`` were also added in the context. They are
|
``next_year`` and ``previous_year`` were also added in the context. They are
|
||||||
calculated according to ``allow_empty`` and ``allow_future``.
|
calculated according to ``allow_empty`` and ``allow_future``.
|
||||||
|
|
||||||
|
Context in TemplateView
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
For consistency with the design of the other generic views,
|
||||||
|
:class:`~django.views.generic.base.TemplateView` no longer passes a ``params``
|
||||||
|
dictionary into the context, instead passing the variables from the URLconf
|
||||||
|
directly into the context.
|
||||||
|
|
||||||
OPTIONS, PUT and DELETE requests in the test client
|
OPTIONS, PUT and DELETE requests in the test client
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -275,7 +275,7 @@ class TemplateViewTest(TestCase):
|
||||||
"""
|
"""
|
||||||
response = self.client.get('/template/simple/bar/')
|
response = self.client.get('/template/simple/bar/')
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertEqual(response.context['params'], {'foo': 'bar'})
|
self.assertEqual(response.context['foo'], 'bar')
|
||||||
self.assertTrue(isinstance(response.context['view'], View))
|
self.assertTrue(isinstance(response.context['view'], View))
|
||||||
|
|
||||||
def test_extra_template_params(self):
|
def test_extra_template_params(self):
|
||||||
|
@ -284,7 +284,7 @@ class TemplateViewTest(TestCase):
|
||||||
"""
|
"""
|
||||||
response = self.client.get('/template/custom/bar/')
|
response = self.client.get('/template/custom/bar/')
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertEqual(response.context['params'], {'foo': 'bar'})
|
self.assertEqual(response.context['foo'], 'bar')
|
||||||
self.assertEqual(response.context['key'], 'value')
|
self.assertEqual(response.context['key'], 'value')
|
||||||
self.assertTrue(isinstance(response.context['view'], View))
|
self.assertTrue(isinstance(response.context['view'], View))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue