Django文件存储——使用阿里云OOS存储图片,所用库为django-aliyun-oss2-storage
Django文件存储——使用阿里云OOS存储图片参考链接:https://blog.csdn.net/sunnyzyq/article/details/101678657https://blog.csdn.net/u014633966/article/details/78727034
一、开通阿里云OOS
1.开通OOS
2.创建Bucket
记住桶名(bucketName)和 外网地域节点(endPoint)
3.创建AccessKey
获取授权信息:AccessKey和AccessKeySecret
参考链接:https://blog.csdn.net/sunnyzyq/article/details/101678657
二、安装django-aliyun-oss2-storage库
参考链接:https://blog.csdn.net/u014633966/article/details/78727034
注意:其中有个库时间很长pycryptodome(30分钟)
出现错误(windows已解决)
bug1:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
参考链接:https://blog.csdn.net/qq_38161040/article/details/87929616
bug2:error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158
参考链接:https://blog.csdn.net/hasnxahscoasc/article/details/105292568
三、Django实现OOS存储
1.配置settings.py
Django Aliyun OSS2 Storage 需要以下几个配置才能正常工作。这些配置通过可以环境变量或 settings.py 来设置。环境变量的优先级要高于 settings.py 。BUCKET_NAME
是Bucket的名字,如果该bucket不存在,程序会自动创建。BUCKET_ACL_TYPE
用于设置Bucket的权限,可以设置为private
, public-read
和 public-read-write
。
ACCESS_KEY_ID = "xxxx"
ACCESS_KEY_SECRET = "xxxx"
END_POINT = "oss-cn-beijing.aliyuncs.com"
PREFIX_URL = 'http://'
BUCKET_NAME = "xxx"
ALIYUN_OSS_CNAME = "" # 自定义域名,如果不需要可以不填写
BUCKET_ACL_TYPE = "public-read" # private, public-read, public-read-write
DEFAULT_FILE_STORAGE = 'aliyun_oss2_storage.backends.AliyunMediaStorage'
MEDIA_URL = '/media/'
MEDIA_ROOT = "media"
2.使用
(1)xadmin路径
(2)uediitor
3.BUG
(1)如果models中使用了StdImageField图片库,会报错误:oss2.exceptions.NoSuchKey: {'status': 404, 'x-oss-request-id': '601F3D65DAD57535319B53EE', 'details': {'Key': '/dudao/2021/02/django.png', 'Code': 'NoSuchKey', 'RequestId': '601F3D65DAD57535319B53EE', 'HostId': 'xyrhcm.oss-cn-beijing.aliyuncs.com', 'Message': 'The specified key does not exist.'}}
参考链接:https://blog.csdn.net/u014633966/article/details/78727034
更多推荐
所有评论(0)