Fixed #26155 -- Skipped URL checks if no ROOTURL_CONF setting.

This commit is contained in:
Buddy Lindsey, Jr 2016-02-01 11:24:33 -06:00 committed by Tim Graham
parent 0fb1185538
commit 731bdfe68a
3 changed files with 16 additions and 4 deletions

View File

@ -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.urls import get_resolver
resolver = get_resolver()
return check_resolver(resolver)
if getattr(settings, 'ROOT_URLCONF', None):
from django.urls import get_resolver
resolver = get_resolver()
return check_resolver(resolver)
return []
def check_resolver(resolver):

View File

@ -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`).

View File

@ -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, [])