首页 > 解决方案 > 状态 403 禁止错误,digitalocean 对象存储不向 django 提供静态文件

问题描述

我使用数字海洋平台部署了一个 django 应用程序。在运行collectstatic将静态文件迁移到 digitalocean 上的 S3 存储桶之前,一切正常,静态文件正在被提供。但是,当我安装boto3 and Django_storage将静态文件迁移到 digitalocean 时,不再提供静态文件。我一直试图解决这个问题一个星期,但没有一种方法对我有好处。我的项目结构如下:

$myprojectdir/
    myproject/
        settings.py
    static/
    manage.py
    ...

设置.py


AWS_ACCESS_KEY_ID = '***'
AWS_SECRET_ACCESS_KEY = '***'
AWS_STORAGE_BUCKET_NAME = '***
AWS_S3_ENDPOINT_URL = '***api-storage.nyc3.digitaloceanspaces'
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static-files'

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'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

如何将 digitalocean 对象存储中的静态文件链接到 django 项目?还是数字海洋有时会拒绝对其上的静态文件进行评估?在我的情况下,网上似乎没有任何建议。另外,我正在使用 corsheader 但我将允许 vallow 设置为True.

标签: python-3.xdjangoboto3digital-oceanpython-django-storages

解决方案


推荐阅读