最近,寫了一個django項目,想在項目中使用七牛雲存儲上傳圖片,在網上搜索到django-qiniu-storage,查看文檔,按步驟居然設置成功了。
安裝
1 pip install django-qiniu-storage
注冊七牛雲賬號
打開七牛雲注冊認證,在個人中心找到兩個Key,添加一個存儲空間就可以得到bucket的域名。這樣就拿到了項目所需的4個配置:
1 QINIU_ACCESS_KEY 2 QINIU_SECRET_KEY 3 QINIU_BUCKET_NAME 4 QINIU_BUCKET_DOMAIN
Django中配置 setting.py
1 QINIU_ACCESS_KEY = 'zPObn7m8F5RZ1dF9kth4Wivz7WE89rWL1sA_Zt' 2 QINIU_SECRET_KEY = 'sLdn1AkrebELj-vdFIZs6cmV3LRP13P-qShZEf' 3 QINIU_BUCKET_NAME = 'wj5633' 4 QINIU_BUCKET_DOMAIN = 'ompehspge.bkt.clouddn.com/' 5 QINIU_SECURE_URL = False #使用http 6 7 8 PREFIX_URL = 'http://' 9 10 MEDIA_URL = PREFIX_URL + QINIU_BUCKET_DOMAIN + '/media/' 11 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 12 13 DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuMediaStorage'
這樣上傳的文件就到七牛雲空間了,下面讓靜態文件也放到七牛雲,繼續配置:
1 STATIC_URL = QINIU_BUCKET_DOMAIN + '/static/' 2 # STATIC_URL = '/static/' 3 STATICFILES_DIRS = [ 4 os.path.join(BASE_DIR, 'static'), 5 ] 6 STATIC_ROOT = os.path.join(BASE_DIR, 'static') 7 8 STATICFILES_STORAGE = 'qiniustorage.backends.QiniuStaticStorage'
運行命令
1 python manage.py collectstatic
app/static和工程/static都將上傳七牛雲。
注意:
1. 這里STATIC_URL不能帶http://,和MEDIA_URL不一樣,否則訪問不了。
2. django-qiniu-storage 最新版配置:
STATIC_ROOT = "static" (可以忽略)
MEDIA_ROOT = "media"