我可以使用digital ocean spaces与django一起使用用户上传的文件吗?

我可以使用digital ocean spaces与django一起使用用户上传的文件吗?,django,file-upload,digital-ocean,Django,File Upload,Digital Ocean,我希望为图像、javascript、css等提供一个中心位置,以便在Django应用程序上实现水平缩放 目前我正在查看DigitalCcean spaces,但在其指南中,似乎只能使用以下方式手动上载文件: python manage.py collectstatic 是否有人有将DigitalOcean spaces与媒体文件一起使用的经验?我基本上想确保上传到一台服务器上的文件可以被另一台服务器访问 提前谢谢 是的,您可以在settings.py文件上设置默认文件存储,如下所示 DEFAU

我希望为图像、javascript、css等提供一个中心位置,以便在Django应用程序上实现水平缩放

目前我正在查看DigitalCcean spaces,但在其指南中,似乎只能使用以下方式手动上载文件:

python manage.py collectstatic
是否有人有将DigitalOcean spaces与媒体文件一起使用的经验?我基本上想确保上传到一台服务器上的文件可以被另一台服务器访问


提前谢谢

是的,您可以在settings.py文件上设置默认文件存储,如下所示

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
它将自动在您的digitalocean spaces文件夹中创建一个媒体文件夹。用户上传的任何内容(如帖子中的图片)都将存储在媒体文件夹中,无需额外配置,只需在配置后添加该行,如下所示。出于某些原因,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'

是的,您可以在settings.py文件上设置默认文件存储,如下所示

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
它将自动在您的digitalocean spaces文件夹中创建一个媒体文件夹。用户上传的任何内容(如帖子中的图片)都将存储在媒体文件夹中,无需额外配置,只需在配置后添加该行,如下所示。出于某些原因,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'