xadmin引入django-qiniu-storage七牛雲存儲圖片

1、註冊七牛雲帳號:python

一、註冊並完成實名認證git

二、建立公有存儲空間github

 

2、安裝django-qiniu-storage:數據庫

pip install django-qiniu-storagedjango

安裝django-qiniu-storage庫七牛雲存儲

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

GitHub主頁app

 

3、配置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

 

3、模型product/models.py:spa

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

 

4、admin後臺頁面:

python manage.py runserver

啓動服務

http://127.0.0.1:8000/admin/

 

 5、七牛雲存儲空間:

相關文章
相關標籤/搜索