一、开通阿里云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的权限,可以设置为privatepublic-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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐