mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Fixed #31528 -- Made collectstatic management command run staticfiles checks.
This commit is contained in:
parent
b23e3a1caa
commit
87faeee4e0
@ -3,6 +3,7 @@ import os
|
|||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.contrib.staticfiles.finders import get_finders
|
from django.contrib.staticfiles.finders import get_finders
|
||||||
from django.contrib.staticfiles.storage import staticfiles_storage
|
from django.contrib.staticfiles.storage import staticfiles_storage
|
||||||
|
from django.core.checks import Tags
|
||||||
from django.core.files.storage import FileSystemStorage
|
from django.core.files.storage import FileSystemStorage
|
||||||
from django.core.management.base import BaseCommand, CommandError
|
from django.core.management.base import BaseCommand, CommandError
|
||||||
from django.core.management.color import no_style
|
from django.core.management.color import no_style
|
||||||
@ -35,6 +36,10 @@ class Command(BaseCommand):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def add_arguments(self, parser):
|
def add_arguments(self, parser):
|
||||||
|
parser.add_argument(
|
||||||
|
'--skip-checks', action='store_true',
|
||||||
|
help='Skip system checks.',
|
||||||
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--noinput', '--no-input', action='store_false', dest='interactive',
|
'--noinput', '--no-input', action='store_false', dest='interactive',
|
||||||
help="Do NOT prompt the user for input of any kind.",
|
help="Do NOT prompt the user for input of any kind.",
|
||||||
@ -146,6 +151,8 @@ class Command(BaseCommand):
|
|||||||
|
|
||||||
def handle(self, **options):
|
def handle(self, **options):
|
||||||
self.set_options(**options)
|
self.set_options(**options)
|
||||||
|
if not options['skip_checks']:
|
||||||
|
self.check(tags=[Tags.staticfiles])
|
||||||
|
|
||||||
message = ['\n']
|
message = ['\n']
|
||||||
if self.dry_run:
|
if self.dry_run:
|
||||||
|
@ -16,6 +16,7 @@ from django.contrib.staticfiles.management.commands import (
|
|||||||
)
|
)
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.core.management import CommandError, call_command
|
from django.core.management import CommandError, call_command
|
||||||
|
from django.core.management.base import SystemCheckError
|
||||||
from django.test import RequestFactory, override_settings
|
from django.test import RequestFactory, override_settings
|
||||||
from django.test.utils import extend_sys_path
|
from django.test.utils import extend_sys_path
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
@ -145,6 +146,12 @@ class TestConfiguration(StaticFilesTestCase):
|
|||||||
collectstatic.staticfiles_storage = staticfiles_storage
|
collectstatic.staticfiles_storage = staticfiles_storage
|
||||||
storage.staticfiles_storage = staticfiles_storage
|
storage.staticfiles_storage = staticfiles_storage
|
||||||
|
|
||||||
|
@override_settings(STATICFILES_DIRS=('test'))
|
||||||
|
def test_collectstatis_check(self):
|
||||||
|
msg = 'The STATICFILES_DIRS setting is not a tuple or list.'
|
||||||
|
with self.assertRaisesMessage(SystemCheckError, msg):
|
||||||
|
call_command('collectstatic', skip_checks=False)
|
||||||
|
|
||||||
|
|
||||||
class TestCollectionHelpSubcommand(AdminScriptTestCase):
|
class TestCollectionHelpSubcommand(AdminScriptTestCase):
|
||||||
@override_settings(STATIC_ROOT=None)
|
@override_settings(STATIC_ROOT=None)
|
||||||
|
Loading…
Reference in New Issue
Block a user