MCPcopy
hub / github.com/django/django / check_url_namespaces_unique

Function check_url_namespaces_unique

django/core/checks/urls.py:34–56  ·  view source on GitHub ↗

Warn if URL namespaces used in applications aren't unique.

(app_configs, **kwargs)

Source from the content-addressed store, hash-verified

32
33@register(Tags.urls)
34def check_url_namespaces_unique(app_configs, **kwargs):
35 """
36 Warn if URL namespaces used in applications aren't unique.
37 """
38 if not getattr(settings, "ROOT_URLCONF", None):
39 return []
40
41 from django.urls import get_resolver
42
43 resolver = get_resolver()
44 all_namespaces = _load_all_namespaces(resolver)
45 counter = Counter(all_namespaces)
46 non_unique_namespaces = [n for n, count in counter.items() if count > 1]
47 errors = []
48 for namespace in non_unique_namespaces:
49 errors.append(
50 Warning(
51 "URL namespace '{}' isn't unique. You may not be able to reverse "
52 "all URLs in this namespace".format(namespace),
53 id="urls.W005",
54 )
55 )
56 return errors
57
58
59def _load_all_namespaces(resolver, parents=()):

Calls 7

get_resolverFunction · 0.90
_load_all_namespacesFunction · 0.85
CounterClass · 0.85
WarningClass · 0.85
itemsMethod · 0.45
appendMethod · 0.45
formatMethod · 0.45