Collectstatic бросает AttributeError: объект 'NoneType' не имеет атрибута 'startswith

Я следую этому руководству для обслуживания статических файлов для моего сайта с помощью пространства Digital Ocean.

Вот мои настройки:

...
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
    AWS_ACCESS_KEY_ID = os.environ.get("DIGITALOCEAN_STATIC_ACCESS_KEY")
    AWS_SECRET_ACCESS_KEY = os.environ.get("DIGITALOCEAN_STATIC_SECRET_KEY")
    AWS_STORAGE_BUCKET_NAME = os.environ.get("AWS_STORAGE_BUCKET_NAME")
    AWS_LOCATION = os.environ.get("AWS_LOCATION")
    AWS_S3_ENDPOINT_URL = 'https://nyc3.digitaloceanspaces.com'
    AWS_S3_OBJECT_PARAMETERS = {
        'CacheControl': 'max-age=86400',
    }

    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static'),
    ]
    STATIC_URL = 'https://%s/%s/' % (AWS_S3_ENDPOINT_URL, AWS_LOCATION)
    STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
    STATIC_ROOT ='/home/myname/example/assets'
    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

Когда я бегу

python manage.py collectstatic

Я получаю следующее:

location as specified in your settings.

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/user/example/env/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle
    collected = self.collect()
  File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect
    handler(path, prefixed_path, storage)
  File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 338, in copy_file
    if not self.delete_file(path, prefixed_path, source_storage):
  File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 248, in delete_file
    if self.storage.exists(prefixed_path):
  File "/home/user/example/env/lib/python3.8/site-packages/django/utils/functional.py", line 246, in inner    self._setup()
  File "/home/user/example/env/lib/python3.8/site-packages/django/contrib/staticfiles/storage.py", line 438, in _setup
    self._wrapped = get_storage_class(settings.STATICFILES_STORAGE)()
  File "/home/user/example/env/lib/python3.8/site-packages/storages/backends/s3boto3.py", line 254, in __init__
    check_location(self)
  File "/home/user/example/env/lib/python3.8/site-packages/storages/utils.py", line 90, in check_location
    if storage.location.startswith('/'):
AttributeError: 'NoneType' object has no attribute 'startswith'

Вы видите, в чем проблема?

Вернуться на верх