关于django-storages

发布时间 2023-07-09 16:44:00作者: 花生与酒

如果django fileField, imageField不是默认存在 本地服务器,而是远程云服务器上,则使用 django-storages

可以对应很多云服务器如

  • Amazon S3
  • Azure Storage
  • DropBox
  • Google Cloud Storage
  • Apache Libcloud
  • FTP/SFTP
 
文件保存
访问路径
django默认
MEDIA_ROOT
MEDIA_URL
使用django-storage
Amazon S3 路径
Amazon S3 路径のURL

即使使用django-storages、MEDIA_ROOTとMEDIA_UR的设定就那么放着,也不会有影响。

s3服务器使用有限制,特定url有时效性

参考S3にて Pre-Signed URLを発行する

 

设定顺序:

1. 在腾讯云或Amazon上注册用户

 

2.安装「django-storages」和「boto3(Python用 Amazon SDK)」

pip install django-storages
pip install boto3

 

INSTALLED_APPS = (
    ...
    'storages',
    ...
)

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

AWS_ACCESS_KEY_ID = 'Your Access Key ID'
AWS_SECRET_ACCESS_KEY = 'Your Secret Key'
AWS_STORAGE_BUCKET_NAME = 'bucket name'

 

 可以继续看考api ,查看 django-storage关于同名文件上传如何处理