Merge pull request #1580 from ianawilson/ticket_16502
Fixed #16502 -- Fixed a TemplateDoesNotExist error that should be an ImproperlyConfigured. Assistance on the patch from #jambronrose.
This commit is contained in:
commit
9b2dc12b83
|
@ -159,6 +159,12 @@ class SingleObjectTemplateResponseMixin(TemplateResponseMixin):
|
||||||
self.model._meta.model_name,
|
self.model._meta.model_name,
|
||||||
self.template_name_suffix
|
self.template_name_suffix
|
||||||
))
|
))
|
||||||
|
|
||||||
|
# If we still haven't managed to find any template names, we should
|
||||||
|
# re-raise the ImproperlyConfigured to alert the user.
|
||||||
|
if not names:
|
||||||
|
raise
|
||||||
|
|
||||||
return names
|
return names
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -468,3 +468,15 @@ class UseMultipleObjectMixinTest(unittest.TestCase):
|
||||||
# Overwrite the view's queryset with queryset from kwarg
|
# Overwrite the view's queryset with queryset from kwarg
|
||||||
context = test_view.get_context_data(object_list=queryset)
|
context = test_view.get_context_data(object_list=queryset)
|
||||||
self.assertEqual(context['object_list'], queryset)
|
self.assertEqual(context['object_list'], queryset)
|
||||||
|
|
||||||
|
|
||||||
|
class SingleObjectTemplateResponseMixinTest(unittest.TestCase):
|
||||||
|
|
||||||
|
def test_template_mixin_without_template(self):
|
||||||
|
"""
|
||||||
|
We want to makes sure that if you use a template mixin, but forget the
|
||||||
|
template, it still tells you it's ImproperlyConfigured instead of
|
||||||
|
TemplateDoesNotExist.
|
||||||
|
"""
|
||||||
|
view = views.TemplateResponseWithoutTemplate()
|
||||||
|
self.assertRaises(ImproperlyConfigured, view.get_template_names)
|
||||||
|
|
|
@ -92,6 +92,14 @@ class NaiveAuthorCreate(generic.CreateView):
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
|
class TemplateResponseWithoutTemplate(generic.detail.SingleObjectTemplateResponseMixin, generic.View):
|
||||||
|
# we don't define the usual template_name here
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
# Dummy object, but attr is required by get_template_name()
|
||||||
|
self.object = None
|
||||||
|
|
||||||
|
|
||||||
class AuthorCreate(generic.CreateView):
|
class AuthorCreate(generic.CreateView):
|
||||||
model = Author
|
model = Author
|
||||||
success_url = '/list/authors/'
|
success_url = '/list/authors/'
|
||||||
|
|
Loading…
Reference in New Issue