Loading AUTHORS +2 −0 Original line number Diff line number Diff line Loading @@ -472,6 +472,7 @@ answer newbie questions, and generally made Django that much better: phil@produxion.net phil.h.smith@gmail.com Gustavo Picon Andrew Pinkham <http://AndrewsForge.com> Travis Pinney Michael Placentra II <someone@michaelplacentra2.net> plisk Loading Loading @@ -636,6 +637,7 @@ answer newbie questions, and generally made Django that much better: Derek Willis <http://blog.thescoop.org/> Rachel Willmer <http://www.willmer.com/kb/> Jakub Wilk <ubanus@users.sf.net> Ian A Wilson <http://ianawilson.com> Jakub Wiśniowski <restless.being@gmail.com> Maciej Wiśniowski <pigletto@gmail.com> wojtek Loading django/views/debug.py +4 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,10 @@ class ExceptionReporter(object): from django.template.loader import template_source_loaders self.template_does_not_exist = True self.loader_debug_info = [] # If the template_source_loaders haven't been populated yet, you need # to provide an empty list for this for loop to not fail. if template_source_loaders is None: template_source_loaders = [] for loader in template_source_loaders: try: source_list_func = loader.get_template_sources Loading tests/view_tests/tests/test_debug.py +7 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ from unittest import skipIf from django.core import mail from django.core.files.uploadedfile import SimpleUploadedFile from django.core.urlresolvers import reverse from django.template.base import TemplateDoesNotExist from django.test import TestCase, RequestFactory from django.test.utils import (override_settings, setup_test_template_loader, restore_template_loaders) Loading Loading @@ -129,6 +130,12 @@ class DebugViewTests(TestCase): finally: shutil.rmtree(template_path) def test_no_template_source_loaders(self): """ Make sure if you don't specify a template, the debug view doesn't blow up. """ self.assertRaises(TemplateDoesNotExist, self.client.get, '/render_no_template/') class ExceptionReporterTests(TestCase): rf = RequestFactory() Loading tests/view_tests/urls.py +1 −0 Original line number Diff line number Diff line Loading @@ -68,4 +68,5 @@ urlpatterns += patterns('view_tests.views', url(r'view_exception/(?P<n>\d+)/$', 'view_exception', name='view_exception'), url(r'template_exception/(?P<n>\d+)/$', 'template_exception', name='template_exception'), url(r'^raises_template_does_not_exist/(?P<path>.+)$', 'raises_template_does_not_exist', name='raises_template_does_not_exist'), url(r'^render_no_template/$', 'render_no_template', name='render_no_template'), ) tests/view_tests/views.py +5 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,11 @@ def raises_template_does_not_exist(request, path='i_dont_exist.html'): except TemplateDoesNotExist: return technical_500_response(request, *sys.exc_info()) def render_no_template(request): # If we do not specify a template, we need to make sure the debug # view doesn't blow up. return render(request, [], {}) def send_log(request, exc_info): logger = getLogger('django.request') # The default logging config has a logging filter to ensure admin emails are Loading Loading
AUTHORS +2 −0 Original line number Diff line number Diff line Loading @@ -472,6 +472,7 @@ answer newbie questions, and generally made Django that much better: phil@produxion.net phil.h.smith@gmail.com Gustavo Picon Andrew Pinkham <http://AndrewsForge.com> Travis Pinney Michael Placentra II <someone@michaelplacentra2.net> plisk Loading Loading @@ -636,6 +637,7 @@ answer newbie questions, and generally made Django that much better: Derek Willis <http://blog.thescoop.org/> Rachel Willmer <http://www.willmer.com/kb/> Jakub Wilk <ubanus@users.sf.net> Ian A Wilson <http://ianawilson.com> Jakub Wiśniowski <restless.being@gmail.com> Maciej Wiśniowski <pigletto@gmail.com> wojtek Loading
django/views/debug.py +4 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,10 @@ class ExceptionReporter(object): from django.template.loader import template_source_loaders self.template_does_not_exist = True self.loader_debug_info = [] # If the template_source_loaders haven't been populated yet, you need # to provide an empty list for this for loop to not fail. if template_source_loaders is None: template_source_loaders = [] for loader in template_source_loaders: try: source_list_func = loader.get_template_sources Loading
tests/view_tests/tests/test_debug.py +7 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ from unittest import skipIf from django.core import mail from django.core.files.uploadedfile import SimpleUploadedFile from django.core.urlresolvers import reverse from django.template.base import TemplateDoesNotExist from django.test import TestCase, RequestFactory from django.test.utils import (override_settings, setup_test_template_loader, restore_template_loaders) Loading Loading @@ -129,6 +130,12 @@ class DebugViewTests(TestCase): finally: shutil.rmtree(template_path) def test_no_template_source_loaders(self): """ Make sure if you don't specify a template, the debug view doesn't blow up. """ self.assertRaises(TemplateDoesNotExist, self.client.get, '/render_no_template/') class ExceptionReporterTests(TestCase): rf = RequestFactory() Loading
tests/view_tests/urls.py +1 −0 Original line number Diff line number Diff line Loading @@ -68,4 +68,5 @@ urlpatterns += patterns('view_tests.views', url(r'view_exception/(?P<n>\d+)/$', 'view_exception', name='view_exception'), url(r'template_exception/(?P<n>\d+)/$', 'template_exception', name='template_exception'), url(r'^raises_template_does_not_exist/(?P<path>.+)$', 'raises_template_does_not_exist', name='raises_template_does_not_exist'), url(r'^render_no_template/$', 'render_no_template', name='render_no_template'), )
tests/view_tests/views.py +5 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,11 @@ def raises_template_does_not_exist(request, path='i_dont_exist.html'): except TemplateDoesNotExist: return technical_500_response(request, *sys.exc_info()) def render_no_template(request): # If we do not specify a template, we need to make sure the debug # view doesn't blow up. return render(request, [], {}) def send_log(request, exc_info): logger = getLogger('django.request') # The default logging config has a logging filter to ensure admin emails are Loading