summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/core/checks/urls.py4
-rw-r--r--docs/releases/1.10.2.txt3
-rw-r--r--tests/check_framework/test_urls.py10
3 files changed, 17 insertions, 0 deletions
diff --git a/django/core/checks/urls.py b/django/core/checks/urls.py
index 8356fc2f00..c151c491dc 100644
--- a/django/core/checks/urls.py
+++ b/django/core/checks/urls.py
@@ -95,6 +95,10 @@ def check_pattern_startswith_slash(pattern):
Check that the pattern does not begin with a forward slash.
"""
regex_pattern = pattern.regex.pattern
+ if not settings.APPEND_SLASH:
+ # Skip check as it can be useful to start a URL pattern with a slash
+ # when APPEND_SLASH=False.
+ return []
if regex_pattern.startswith('/') or regex_pattern.startswith('^/'):
warning = Warning(
"Your URL pattern {} has a regex beginning with a '/'. Remove this "
diff --git a/docs/releases/1.10.2.txt b/docs/releases/1.10.2.txt
index bc11980053..8c031d37f5 100644
--- a/docs/releases/1.10.2.txt
+++ b/docs/releases/1.10.2.txt
@@ -14,3 +14,6 @@ Bugfixes
* Allowed combining ``contrib.postgres.search.SearchQuery`` with more than one
``&`` or ``|`` operators (:ticket:`27143`).
+
+* Disabled system check for URL patterns beginning with a '/' when
+ ``APPEND_SLASH=False`` (:ticket:`27238`).
diff --git a/tests/check_framework/test_urls.py b/tests/check_framework/test_urls.py
index 926d1947dd..3418af8ac0 100644
--- a/tests/check_framework/test_urls.py
+++ b/tests/check_framework/test_urls.py
@@ -55,6 +55,16 @@ class CheckUrlsTest(SimpleTestCase):
self.assertIn(expected_msg, warning.msg)
+ @override_settings(
+ ROOT_URLCONF='check_framework.urls.beginning_with_slash',
+ APPEND_SLASH=False,
+ )
+ def test_beginning_with_slash_append_slash(self):
+ # It can be useful to start a URL pattern with a slash when
+ # APPEND_SLASH=False (#27238).
+ result = check_url_config(None)
+ self.assertEqual(result, [])
+
@override_settings(ROOT_URLCONF='check_framework.urls.name_with_colon')
def test_name_with_colon(self):
result = check_url_config(None)