zoukankan      html  css  js  c++  java
  • django中使用qiniu作为第三方存储

    django使用七牛云存储

    前言

    • 现在的网站基本上都需要上传文件,那么文件会占用大量的存储空间和服务器流量,由此使用第三方存储服务器很有必要,今天我们就使用七牛云存储作为django项目的文件存储服务器

    一、安装

    pip install django-qiniu-storage
    

    二、settings配置

    配置参数 备注
    QINIU_ACCESS_KEY 七牛给开发者分配的 AccessKey
    QINIU_SECRET_KEY 七牛给开发者分配的 Secret
    QINIU_BUCKET_NAME 用来存放文件的七牛空间(bucket)的名字
    QINIU_BUCKET_DOMAIN 七牛空间(bucket)的域名
    QINIU_SECURE_URL 是否通过 HTTPS 来访问七牛云存储上的资源, 默认为False

    三、在django中的使用

    1、settings.py

    QINIU = True
    
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    MEDIA_URL = '/media/'
    CKEDITOR_UPLOAD_PATH = 'upload/'
    
    if QINIU:
        del STATIC_URL, STATICFILES_DIRS, MEDIA_URL, MEDIA_ROOT
        # 七牛云存储设置
        QINIU_ACCESS_KEY = ''
        QINIU_SECRET_KEY = ''
        QINIU_BUCKET_NAME = ''
        QINIU_BUCKET_DOMAIN = ''
        QINIU_SECURE_URL = False
        PREFIX_URL = 'http://'
    
        # STATIC文件的更改
        STATIC_URL = QINIU_BUCKET_DOMAIN + '/static/'
        STATIC_ROOT = 'static'
        STATICFILES_STORAGE = 'qiniustorage.backends.QiniuStaticStorage'
    
        # 文件系统更改
        DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuMediaStorage'
        MEDIA_URL = PREFIX_URL + QINIU_BUCKET_DOMAIN + "/media/"
        MEDIA_ROOT = 'media'
    

    2、运行命令将static文件夹下内容上传到七牛云

    python manage.py collectstatic
    

    2.1、如果报错,则找到源码更改

    # /site-packages/qiniustorage/backends.py
    # Ctrl + F 搜索 _normalize_name 函数 注释函数内所有内容,改为
    return ("%s/%s"% (self.location, name.lstrip('/'))).lstrip('/')
    

    3、模板中使用

    {{ load static }}
    <link rel="stylesheet" type="text/css" href="{% static '/html/css/reset.css' %}">
    

    四、效果预览


    你的无畏来源于你的无知!

  • 相关阅读:
    iterm2 关闭命令行的行数限制
    设置Mac关闭显示器后不睡眠
    设置iPhone内容隔空投送到mac
    Mac关闭动画效果
    mac使用Jmeter
    Mac 设置文件夹共享
    设置iPhone可以投屏到mac上
    Mac关闭显示亮度自动调节功能
    Mac系统无法使用root用户
    Mac设置主显示器
  • 原文地址:https://www.cnblogs.com/YiwenGG/p/14288609.html
Copyright © 2011-2022 走看看