我希望有一个图像、javascript、css 等的中心位置,以便在我的 Django 应用程序上启用水平缩放。
目前我正在查看 DigitalCcean 空间,但是在他们的指南中似乎只能使用以下方式手动上传文件:
python manage.py collectstatic
有人有使用 DigitalOcean 空间处理媒体文件的经验吗?我基本上想确保在一台服务器上上传的文件可以由另一台服务器访问。
提前致谢!
最佳答案
是的,您可以像这样在 settings.py 文件上设置默认文件存储
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
它将自动在您的 digitalocean 空间文件夹中创建一个媒体文件夹。用户上传的任何内容(例如帖子中的图片)都将存储在媒体文件夹中,无需额外配置,只需在配置后添加该行即可,如下所示。由于某种原因,一些提供的 digitalocean 教程没有提到这一点。
AWS_ACCESS_KEY_ID = 'your-spaces-access-key'
AWS_SECRET_ACCESS_KEY = 'your-spaces-secret-access-key'
AWS_STORAGE_BUCKET_NAME = 'your-storage-bucket-name'
AWS_S3_ENDPOINT_URL = 'https://nyc3.digitaloceanspaces.com'
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'your-spaces-files-folder'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'mysite/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'
关于django - 我可以使用 django 的 digital ocean 空间来存储用户上传的文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60765418/