1.添加视图函数
def show_upload(request):
return render(request,'booktest/upload_pic.html')
def upload_handle(request):
'''上传图片处理'''
pic = request.FILES['pic']
#小于2.5M是InMemoryUploadedFile类型,
# 大于2.5M为TemporaryUploadedFile类型
# class 'django.core.files.uploadedfile.InMemoryUploadedFile'>
# class 'django.core.files.uploadedfile.TemporaryUploadedFile'>
#print(type(pic))
#print(pic.name)
#pic.chunks()
#创建一个文件
save_path = '%s/booktest/%s'%(settings.MEDIA_ROOT,pic.name)
with open(save_path,'wb') as f:
#获取文件内容,并写到创建的文件中
for content in pic.chunks():
f.write(content)
#在数据库中保存上传记录
PicTest.objects.create(goods_pic='booktest/%s'%pic.name)
return HttpResponse('ok')
2.upload_pic.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传图片</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="/upload_handle">
{% csrf_token %}
<input type="file" name="pic"><br/>
<input type="submit" value="上传">
</form>
</body>
</html>
3.url
url(r'^show_upload$', views.show_upload),
url(r'^upload_handle$', views.upload_handle),
4.测试