Kaydet (Commit) 05c578bc authored tarafından Paweł Kołodziej's avatar Paweł Kołodziej Kaydeden (comit) Tim Graham

Fixed #29796 -- Added system check for STATICFILES_DIRS prefix ending with a slash.

üst 40c8ffad
...@@ -78,7 +78,13 @@ class FileSystemFinder(BaseFinder): ...@@ -78,7 +78,13 @@ class FileSystemFinder(BaseFinder):
)) ))
for root in settings.STATICFILES_DIRS: for root in settings.STATICFILES_DIRS:
if isinstance(root, (list, tuple)): if isinstance(root, (list, tuple)):
_, root = root prefix, root = root
if prefix.endswith('/'):
errors.append(Error(
'The prefix %r in the STATICFILES_DIRS setting must '
'not end with a slash.' % prefix,
id='staticfiles.E003',
))
if settings.STATIC_ROOT and os.path.abspath(settings.STATIC_ROOT) == os.path.abspath(root): if settings.STATIC_ROOT and os.path.abspath(settings.STATIC_ROOT) == os.path.abspath(root):
errors.append(Error( errors.append(Error(
'The STATICFILES_DIRS setting should not contain the ' 'The STATICFILES_DIRS setting should not contain the '
......
...@@ -731,3 +731,5 @@ configured: ...@@ -731,3 +731,5 @@ configured:
or list. or list.
* **staticfiles.E002**: The :setting:`STATICFILES_DIRS` setting should not * **staticfiles.E002**: The :setting:`STATICFILES_DIRS` setting should not
contain the :setting:`STATIC_ROOT` setting. contain the :setting:`STATIC_ROOT` setting.
* **staticfiles.E003**: The prefix ``<prefix>`` in the
:setting:`STATICFILES_DIRS` setting must not end with a slash.
...@@ -75,3 +75,13 @@ class FindersCheckTests(SimpleTestCase): ...@@ -75,3 +75,13 @@ class FindersCheckTests(SimpleTestCase):
id='staticfiles.E002', id='staticfiles.E002',
) )
]) ])
@override_settings(STATICFILES_DIRS=[('prefix/', '/fake/path')])
def test_prefix_contains_trailing_slash(self):
self.assertEqual(check_finders(None), [
Error(
"The prefix 'prefix/' in the STATICFILES_DIRS setting must "
"not end with a slash.",
id='staticfiles.E003',
)
])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment