潭州课堂25班:Ph201805201 django 项目 第四十课 后台 文章发布,更新实现,热门新闻管理,轮播图管理(课堂笔记)

把图片上传到 七牛云,必须经过后台的许可,

在虚拟机中安装七牛云所需模块
pip install qiniu

# 创建utils/secrets/qiniu_secret_info.py文件


# 从七牛云"个人中心>密钥管理"中获取自己的 Access Key 和 Secret Key

QI_NIU_ACCESS_KEY = '你自己七牛云上的AK'
QI_NIU_SECRET_KEY = '你自己七牛云上的SK'
QI_NIU_BUCKET_NAME = '你自己在七牛云上创建的存储空间名'

 

在视图中

# 将图片上传到七牛云,需要后端返回token
import qiniu

from utils.secrets import qiniu_secret_info

class QiniuyunToken(PermissionRequiredMixin, View):
    """
     将图片上传到七牛云,需要后端返回token
    """
    permission_required = ('news.add_news', 'news.view_news')
    def handle_no_permission(self):
        # 处理没有权限 重写 PermissionRequiredMixin 中的 没有权限 方法
        return to_json_data(errno=Code.ROLEERR, errmsg='没有权限')
    def get(self, request):
        ak = qiniu_secret_info.QI_NIU_ACCESS_KEY
        sk = qiniu_secret_info.QI_NIU_SECRET_KEY
        bucket_name = qiniu_secret_info.QI_NIU_BUCKET_NAME
        # 构建鉴权对象
        q = qiniu.Auth(ak, sk)
        token = q.upload_token(bucket_name)
        return JsonResponse({"uptoken": token})

 定义 url ;

path('token/', views.QiniuyunToken.as_view(), name='upload_token'),  # 七牛云上传图片需要调用token


热门新闻管理;

posted @ 2019-01-15 08:23  25班Ph201805201  阅读(177)  评论(0编辑  收藏  举报