From 8d4885ede578b5beef7626cd31bbd19a95bd678a Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Fri, 24 Feb 2017 23:13:48 +0800 Subject: Fixed #27874 -- Fixed URL namespace warning (urls.W005) for nested namespaces. --- django/core/checks/urls.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'django/core') diff --git a/django/core/checks/urls.py b/django/core/checks/urls.py index c39010fb7d..13c7e2b08b 100644 --- a/django/core/checks/urls.py +++ b/django/core/checks/urls.py @@ -50,17 +50,18 @@ def check_url_namespaces_unique(app_configs, **kwargs): return errors -def _load_all_namespaces(resolver): +def _load_all_namespaces(resolver, parents=()): """ Recursively load all namespaces from URL patterns. """ url_patterns = getattr(resolver, 'url_patterns', []) namespaces = [ - url.namespace for url in url_patterns + ':'.join(parents + (url.namespace,)) for url in url_patterns if getattr(url, 'namespace', None) is not None ] for pattern in url_patterns: - namespaces.extend(_load_all_namespaces(pattern)) + current = parents + (getattr(pattern, 'namespace', ()),) + namespaces.extend(_load_all_namespaces(pattern, current)) return namespaces -- cgit v1.3