Skip to content

Commit eb5aa9a

Browse files
committed
Django 1.9: Refined the autonaming url() replacement.
- Legacy-Id: 12622
1 parent d5460b8 commit eb5aa9a

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

ietf/utils/urls.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,22 @@
22

33
import six
44
import debug # pyflakes:ignore
5+
from inspect import isclass
56

67
from django.conf.urls import url as django_url
78

8-
#@debug.trace
99
def url(regex, view, kwargs=None, name=None, prefix=''):
1010
if isinstance(view, (list, tuple)):
1111
pass # use the name passed in
1212
elif isinstance(view, six.string_types):
1313
name = view
14-
elif callable(view):
15-
name = "%s.%s" % (view.__module__, view.__name__)
14+
elif isclass(view) or hasattr(view, '__class__'):
15+
pass
16+
elif callable(view) and hasattr(view, '__name__'):
17+
if str(view.__module__).startswith('django.views.generic'):
18+
pass
19+
else:
20+
name = "%s.%s" % (view.__module__, view.__name__)
1621
else:
1722
raise NotImplementedError("Auto-named url from view of type %s: %s" % (type(view), view))
1823
if name:

0 commit comments

Comments
 (0)