From e352f70a70ed32ab805e2f4e8acad6eda78c348e Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Wed, 10 Apr 2013 12:10:22 +0200 Subject: [PATCH] Add 'object' to context in SingleObjectMixin To match the documentation of SingleObjectMixin, if it is used separately from (Base)DetailView. --- django/views/generic/detail.py | 4 +++- tests/generic_views/base.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/django/views/generic/detail.py b/django/views/generic/detail.py index 58302bbe2382b..8567297dbabef 100644 --- a/django/views/generic/detail.py +++ b/django/views/generic/detail.py @@ -93,6 +93,8 @@ def get_context_data(self, **kwargs): Insert the single object into the context dict. """ context = {} + if self.object: + context['object'] = self.object context_object_name = self.get_context_object_name(self.object) if context_object_name: context[context_object_name] = self.object @@ -106,7 +108,7 @@ class BaseDetailView(SingleObjectMixin, View): """ def get(self, request, *args, **kwargs): self.object = self.get_object() - context = self.get_context_data(object=self.object) + context = self.get_context_data() return self.render_to_response(context) diff --git a/tests/generic_views/base.py b/tests/generic_views/base.py index 0e84e1713245b..9c99a167ee3c2 100644 --- a/tests/generic_views/base.py +++ b/tests/generic_views/base.py @@ -403,8 +403,9 @@ def test_get_context_data_super(self): test_view = views.CustomContextView() context = test_view.get_context_data(kwarg_test='kwarg_value') - # the test_name key is inserted by the test classes parent + # the test_name and object keys are inserted by the test class's parent self.assertTrue('test_name' in context) + self.assertTrue('object' in context) self.assertEqual(context['kwarg_test'], 'kwarg_value') self.assertEqual(context['custom_key'], 'custom_value')