Django使用七牛云的简单搭建

views.py

from qiniu import Auth, put_file, etag
import qiniu.config

def ceshi(request):
return render(request,‘upload.html’)

def upload(request):
if request.method == ‘POST’:
# name = request.POST.get(‘username’)
avatar = request.FILES.get(‘avatar’)
import time
print(avatar)
#用时间戳作为存储名称
uuid = time.strftime("%Y%m%d%H%M%S", time.localtime())
models.Userp.objects.create(avatar=avatar)
access_key = “自己的AK”
secret_key = “自己的SK”
bucket_name = ‘自己的仓库名称’
q = Auth(access_key, secret_key)
key = uuid
policy = {
‘callbackUrl’: ‘自己的测试域名’,
‘callbackBody’: ‘filename=KaTeX parse error: Expected 'EOF', got '&' at position 8: (fname)&̲filesize=(fsize)’
}
token = q.upload_token(bucket_name, key, 3600, policy)
localfile = ‘./static/uploads/avatar/%s’ % avatar
ret, info = put_file(token, key, localfile)
data = {
‘url’: ‘自己的测试域名/’ + uuid
}
return JsonResponse(data=data)

return render(request, 'upload.html')

html里

{% csrf_token %}
头像
 

urls里
url(r’^ceshi’,views.ceshi,name=‘ceshi’),
url(r’^upload’,views.upload, name=‘upload’)

settings里
STATIC_URL = ‘/static/’

MEDIA_ROOT = os.path.join(BASE_DIR, ‘static/uploads’)

STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘static’),
]

也研究了几天,现在慢慢整合到项目里,实现图片、文字、文件、视频、音频的上传功能,自己会封装一下,做个自己的小工具。

你可能感兴趣的:(django,---七牛云)