Commit 731bdfe6 authored by Buddy Lindsey, Jr's avatar Buddy Lindsey, Jr Committed by Tim Graham
Browse files

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

parent 0fb11855
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
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):
    if getattr(settings, 'ROOT_URLCONF', None):
        from django.urls import get_resolver
        resolver = get_resolver()
        return check_resolver(resolver)
    return []


def check_resolver(resolver):
+2 −1
Original line number Diff line number Diff line
@@ -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`).
+7 −0
Original line number Diff line number Diff line
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, [])