七牛的配置

Posted guofeng-1016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七牛的配置相关的知识,希望对你有一定的参考价值。

https://portal.qiniu.com/bucket/

图片的存储除了上次搭建的fastdfs分布系统可用,还可以借助七牛云这个平台。我们进入七牛云并实名认证后,他就会每月免费提供10G的存储空间,供开发这测试使用。

下面讲解下如何使用js、python来实现在七牛云上的图片存储。可以参考文档SDK

一、获取关键参数

  • 获取AK、SK

在七牛云平台实名认证后,我们需要进入个人中心,点击密钥管理,并将AK和SK这两个值复制保存好,因为在后面django搭建七牛云时会用到。

技术图片

 

  • 创建存储空间

技术图片

技术图片

  • 拿到测试域名CDN

技术图片

二、安装相应包

  • 安装七牛云

在django项目环境下,执行下面命令。

pip install django-qiniu-storage==2.3.1
# django-qiniu-storage >= 2.0都会出现BUG需要手动改源码才可以完成

三、配置django设置

# 如果要设置为灵活可切换状态可以这样写
QINIU = True  # DEBUG下面最好
# Static files (CSS, javascript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/
# 静态文件相关
STATIC_URL = ‘/static/‘  # 见七牛静态文件部署
STATICFILES_DIRS = [
   # os.path.join(BASE_DIR, ‘static‘), # 这里的静态文件需要转移到别的地方,最好自己的app下
]
?
# 富文本编辑器文件上传设置 文件上传相关
MEDIA_URL = ‘/media/‘  # 见七牛静态文件部署
MEDIA_ROOT = os.path.join(BASE_DIR, ‘media‘)  # 见七牛静态文件部署
CKEDITOR_UPLOAD_PATH = ‘upload/‘
?
# 七牛静态文件储存
if QINIU:
   del MEDIA_URL, MEDIA_ROOT, STATIC_URL
   QINIU_ACCESS_KEY = ‘Dp982LV_9nXQ8ZhOHIoJaqKszG_I4TWWmhdGSJkd‘  # 个人中心 > 密钥管理 > AK
   QINIU_SECRET_KEY = ‘aesmBGdmYkCV01qHcRqNWa_TIQbbXvfVXQUXMJJp‘   # 个人中心 > 密钥管理 > SK
   QINIU_BUCKET_NAME = ‘yiguo‘  # 空间名
   QINIU_BUCKET_DOMAIN = ‘puic3tb9d.bkt.clouddn.com‘  # 融合 CDN 域名
   QINIU_SECURE_URL = False  # 使用http
   PREFIX_URL = ‘http://‘
?
   # 文件系统更改
   DEFAULT_FILE_STORAGE = ‘qiniustorage.backends.QiniuMediaStorage‘
   MEDIA_URL = PREFIX_URL + QINIU_BUCKET_DOMAIN + "/media/"
   MEDIA_ROOT = ‘media‘
?
   # 静态文件部分
   STATIC_URL = QINIU_BUCKET_DOMAIN + ‘/static/‘
   STATIC_ROOT = ‘static‘  # 自己想要的前缀默认static
   STATICFILES_STORAGE = ‘qiniustorage.backends.QiniuStaticStorage‘

四、更改qiniustorage的源码

# 当前环境/site-packages/qiniustorage/backends.py
# Ctrl + F 搜索 _normalize_name 函数 注释函数内所有内容,改为
return ("%s/%s"% (self.location, name.lstrip(‘/‘))).lstrip(‘/‘)
# Ctrl + F 搜索 QiniuStaticStorage 类
location = settings.STATIC_ROOT or "static"  # 原
# 改为
location = settings.STATIC_ROOT  # 新

五 、收集静态文件储存至七牛云对象服务器

python manage.py collectstatic 
# yes 等待上传完成
关于迁移图片类型数据库里面的文件,参考 qshell

https://developer.qiniu.com/kodo/tools/1302/qshell

关于配置完成,无法范围本地静态文件

配置完成以后无法访问本地静态文件 所有模板统一采用

% load static %
<a href="% url ‘/static/‘ %">首页</a>

这种方式来渲染URL连接 这种方式将无法再连接,

<script src="/static/js/slide.js"></script>

服务器会拒绝连接

 

以上是关于七牛的配置的主要内容,如果未能解决你的问题,请参考以下文章

小程序对接七牛云存储

关于小程序上传图片到七牛的总结

PHP 七牛的 saveKey 如何设置

安卓批量上传图片到七牛的两种方法

基于云开发开发 Web 应用:关于七牛的一些问题

在 iPic 中添加七牛云