zoukankan      html  css  js  c++  java
  • xadmin引入django-qiniu-storage七牛云存储图片

    一、注册七牛云账号:

    1、注册并完成实名认证

    2、创建公有存储空间

    二、安装django-qiniu-storage:

    pip install django-qiniu-storage

    安装django-qiniu-storage库

    https://github.com/glasslion/django-qiniu-storage

    GitHub主页

    三、配置demo/settings.py:

    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'product.apps.ProductConfig',

    'xadmin',
    'crispy_forms',
    'reversion',
    # 添加django-xadmin

    'import_export',
    # 导入导出

    'ckeditor',
    'ckeditor_uploader',
    # 富文本编辑器

    'rest_framework',
    # django-rest-framework

    'qiniustorage',
    # 七牛云存储
    ]



    # MEDIA_URL = '/media/'
    # MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    # 定义图片存放的目录

    QINIU_ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    # 七牛给开发者分配的AccessKey
    QINIU_SECRET_KEY = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'
    # 七牛给开发者分配的Secret
    QINIU_BUCKET_NAME = 'abc123'
    # 用来存放文件的七牛空间(bucket)的名字
    QINIU_BUCKET_DOMAIN = 'xxxxxxxx.bkt.clouddn.com/'
    # 七牛空间(bucket)的域名,别遗漏了后面的/
    DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuStorage'
    # 只用七牛托管动态生成的文件(例如用户上传的文件)

    MEDIA_URL = QINIU_BUCKET_DOMAIN
    MEDIA_ROOT = QINIU_BUCKET_DOMAIN

    三、模型product/models.py:

    from ckeditor_uploader.fields import RichTextUploadingField
    from django.db import models

    # Create your models here.


    class ProductInfo(models.Model):
    # 产品表

    product_name = models.CharField(max_length=32, verbose_name="产品名称")
    # 产品名称
    product_picture = models.ImageField(blank=True,
    null=True,
    upload_to="pictures/%Y%m%d",
    max_length=255,
    verbose_name="产品图片")
    # 产品图片,数据库里面存储的是图片的相对路径
    product_describe = models.CharField(max_length=255, verbose_name="产品描述")
    # 产品描述
    product_manager = models.CharField(max_length=11, verbose_name="产品经理")
    # 产品经理
    product_detail = RichTextUploadingField(verbose_name="产品详情", default="", blank=True, null=True,)
    # 产品详情,带有上传图片功能的富文本编辑器
    create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    # 创建时间
    update_time = models.DateTimeField(auto_now=True, blank=True, null=True, verbose_name="修改时间")
    # 修改时间

    class Meta:
    db_table = 'product_info'
    # 设置表名,默认表名是:应用名称_模型类名
    # 带有应用名的表名太长了

    verbose_name = '产品列表'
    verbose_name_plural = "产品列表"

    def __str__(self):
    return self.product_name

    四、admin后台页面:

    python manage.py runserver

    启动服务

    http://127.0.0.1:8000/admin/

     五、七牛云存储空间:

  • 相关阅读:
    (转)音频降噪算法 附完整C代码
    (转)移动直播技术秒开优化经验(含PPT)
    React实现简单的SearchBox搜索框组件
    为ARM安卓设备交叉编译C/C++语言程序
    Ubuntu无法用快捷键或图标打开终端
    Java基础系列-SPI你认识吗
    Java基础系列-时间日期API
    Java基础系列-RandomAccess
    Java基础系列-Optional
    那些字段适不适合建索引?
  • 原文地址:https://www.cnblogs.com/yjlch1016/p/11390460.html
Copyright © 2011-2022 走看看