Django 1.9: Added an alternative implementation of urls() which derives an url pattern name from the callable, in order to maintain DRY for url patterns.
- Legacy-Id: 12617
This commit is contained in:
parent
3944ab95cc
commit
bfc44dea82
21
ietf/utils/urls.py
Normal file
21
ietf/utils/urls.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Copyright The IETF Trust 2016, All Rights Reserved
|
||||
|
||||
import six
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from django.conf.urls import url as django_url
|
||||
|
||||
#@debug.trace
|
||||
def url(regex, view, kwargs=None, name=None, prefix=''):
|
||||
if isinstance(view, (list, tuple)):
|
||||
pass # use the name passed in
|
||||
elif isinstance(view, six.string_types):
|
||||
name = view
|
||||
elif callable(view):
|
||||
name = "%s.%s" % (view.__module__, view.__name__)
|
||||
else:
|
||||
raise NotImplementedError("Auto-named url from view of type %s: %s" % (type(view), view))
|
||||
if name:
|
||||
debug.show('name')
|
||||
return django_url(regex, view, kwargs=kwargs, name=name, prefix=prefix)
|
||||
|
Loading…
Reference in a new issue