diff options
| author | Buddy Lindsey, Jr <buddy@buddylindsey.com> | 2016-02-01 11:24:33 -0600 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-01 14:00:08 -0500 |
| commit | 3a063b0dcc54458731e0c4c5b2eef0032ddd41b2 (patch) | |
| tree | 479b869109b7c5dfb23c421e04e9dbbffa6f40d1 | |
| parent | fe41a134bcecd0fc7b6905a46bf055fca100fe28 (diff) | |
[1.9.x] Fixed #26155 -- Skipped URL checks if no ROOTURL_CONF setting.
Backport of 731bdfe68ae8dd332702b1838db44f0efe433e2e from master
| -rw-r--r-- | django/core/checks/urls.py | 10 | ||||
| -rw-r--r-- | docs/releases/1.9.3.txt | 3 | ||||
| -rw-r--r-- | tests/check_framework/test_urls.py | 7 |
3 files changed, 16 insertions, 4 deletions
diff --git a/django/core/checks/urls.py b/django/core/checks/urls.py index d2aac61739..387d2b4e98 100644 --- a/django/core/checks/urls.py +++ b/django/core/checks/urls.py @@ -1,13 +1,17 @@ from __future__ import unicode_literals +from django.conf import settings + from . import Tags, Warning, register @register(Tags.urls) def check_url_config(app_configs, **kwargs): - from django.core.urlresolvers import get_resolver - resolver = get_resolver() - return check_resolver(resolver) + if getattr(settings, 'ROOT_URLCONF', None): + from django.core.urlresolvers import get_resolver + resolver = get_resolver() + return check_resolver(resolver) + return [] def check_resolver(resolver): diff --git a/docs/releases/1.9.3.txt b/docs/releases/1.9.3.txt index 6ded7fb256..8686f32c5c 100644 --- a/docs/releases/1.9.3.txt +++ b/docs/releases/1.9.3.txt @@ -9,4 +9,5 @@ Django 1.9.3 fixes several bugs in 1.9.2. Bugfixes ======== -* ... +* Skipped URL checks (new in 1.9) if the ``ROOT_URLCONF`` setting isn't defined + (:ticket:`26155`). diff --git a/tests/check_framework/test_urls.py b/tests/check_framework/test_urls.py index 19f2d2990e..7fe13c9c40 100644 --- a/tests/check_framework/test_urls.py +++ b/tests/check_framework/test_urls.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.core.checks.urls import check_url_config from django.test import SimpleTestCase from django.test.utils import override_settings @@ -35,3 +36,9 @@ class CheckUrlsTest(SimpleTestCase): self.assertEqual(warning.id, 'urls.W003') expected_msg = "Your URL pattern '^$' [name='name_with:colon'] has a name including a ':'." self.assertIn(expected_msg, warning.msg) + + @override_settings(ROOT_URLCONF=None) + def test_no_root_urlconf_in_settings(self): + delattr(settings, 'ROOT_URLCONF') + result = check_url_config(None) + self.assertEqual(result, []) |
