如果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有时效性
设定顺序:
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关于同名文件上传如何处理