From 27d16a3ca4a330f5aa46015ccd7d5a9ee72873b6 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Wed, 15 Aug 2012 22:52:19 +0200 Subject: [PATCH] [py3] Fixed middleware_exceptions tests. --- django/core/handlers/base.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py index 3fc40358d0..791382bac0 100644 --- a/django/core/handlers/base.py +++ b/django/core/handlers/base.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import sys +import types from django import http from django.core import signals @@ -125,10 +126,10 @@ class BaseHandler(object): # Complain if the view returned None (a common error). if response is None: - try: - view_name = callback.func_name # If it's a function - except AttributeError: - view_name = callback.__class__.__name__ + '.__call__' # If it's a class + if isinstance(callback, types.FunctionType): # FBV + view_name = callback.__name__ + else: # CBV + view_name = callback.__class__.__name__ + '.__call__' raise ValueError("The view %s.%s didn't return an HttpResponse object." % (callback.__module__, view_name)) # If the response supports deferred rendering, apply template