python-3.x - 状态 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 - 获取源能力
- vue.js - 部署后某个页面不会加载
- kubernetes - 安装 Kubernetes 仪表板时未找到资源
- firebase - 获取配置文件数据时,使用 Firebase 登录会导致“url!= null”错误
- javascript - 如何使用 jquery 或 javascript 从 div 元素中删除所有以 # 开头的字符?
- typescript - 深度/递归 必需
在特定属性上 - java - 如何获得 onKeyPressed 持续时间?
- angular - Angular 库 VS Angular 自定义元素(Web 组件)有什么不同
- node.js - 从 puppeteer 强制显示模态
- assembly - 如何在 x86 英特尔架构中运行的程序集引导加载程序中将内存从磁盘读取到 RAM?