Clarified URL regex check message with respect to include().
This commit is contained in:
parent
6b54504e66
commit
7ed8b98f42
|
@ -97,8 +97,11 @@ def check_pattern_startswith_slash(pattern):
|
||||||
regex_pattern = pattern.regex.pattern
|
regex_pattern = pattern.regex.pattern
|
||||||
if regex_pattern.startswith('/') or regex_pattern.startswith('^/'):
|
if regex_pattern.startswith('/') or regex_pattern.startswith('^/'):
|
||||||
warning = Warning(
|
warning = Warning(
|
||||||
"Your URL pattern {} has a regex beginning with a '/'. "
|
"Your URL pattern {} has a regex beginning with a '/'. Remove this "
|
||||||
"Remove this slash as it is unnecessary.".format(describe_pattern(pattern)),
|
"slash as it is unnecessary. If this pattern is targeted in an "
|
||||||
|
"include(), ensure the include() pattern has a trailing '/'.".format(
|
||||||
|
describe_pattern(pattern)
|
||||||
|
),
|
||||||
id="urls.W002",
|
id="urls.W002",
|
||||||
)
|
)
|
||||||
return [warning]
|
return [warning]
|
||||||
|
|
|
@ -657,6 +657,8 @@ The following checks are performed on your URL configuration:
|
||||||
including URLs.
|
including URLs.
|
||||||
* **urls.W002**: Your URL pattern ``<pattern>`` has a ``regex``
|
* **urls.W002**: Your URL pattern ``<pattern>`` has a ``regex``
|
||||||
beginning with a ``/``. Remove this slash as it is unnecessary.
|
beginning with a ``/``. Remove this slash as it is unnecessary.
|
||||||
|
If this pattern is targeted in an :func:`~django.conf.urls.include`, ensure
|
||||||
|
the :func:`~django.conf.urls.include` pattern has a trailing ``/``.
|
||||||
* **urls.W003**: Your URL pattern ``<pattern>`` has a ``name``
|
* **urls.W003**: Your URL pattern ``<pattern>`` has a ``name``
|
||||||
including a ``:``. Remove the colon, to avoid ambiguous namespace
|
including a ``:``. Remove the colon, to avoid ambiguous namespace
|
||||||
references.
|
references.
|
||||||
|
|
|
@ -46,7 +46,13 @@ class CheckUrlsTest(SimpleTestCase):
|
||||||
self.assertEqual(len(result), 1)
|
self.assertEqual(len(result), 1)
|
||||||
warning = result[0]
|
warning = result[0]
|
||||||
self.assertEqual(warning.id, 'urls.W002')
|
self.assertEqual(warning.id, 'urls.W002')
|
||||||
expected_msg = "Your URL pattern '/starting-with-slash/$' has a regex beginning with a '/'"
|
expected_msg = (
|
||||||
|
"Your URL pattern '/starting-with-slash/$' has a regex beginning "
|
||||||
|
"with a '/'. Remove this slash as it is unnecessary. If this "
|
||||||
|
"pattern is targeted in an include(), ensure the include() pattern "
|
||||||
|
"has a trailing '/'."
|
||||||
|
)
|
||||||
|
|
||||||
self.assertIn(expected_msg, warning.msg)
|
self.assertIn(expected_msg, warning.msg)
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='check_framework.urls.name_with_colon')
|
@override_settings(ROOT_URLCONF='check_framework.urls.name_with_colon')
|
||||||
|
|
Loading…
Reference in New Issue