黑马程序员技术交流社区

标题: 【上海校区】xadmin引入django-qiniu-storage七牛云存储图片 [打印本页]

作者: 梦缠绕的时候    时间: 2019-8-22 09:53
标题: 【上海校区】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 = [
   


# 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/

五、七牛云存储空间:


作者: 梦缠绕的时候    时间: 2019-8-22 09:53
有任何问题欢迎在评论区留言
作者: 梦缠绕的时候    时间: 2019-8-22 09:53
或者添加学姐微信
DKA-2018




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2