django显示图片,django图片上传与显示
1.首先html页面的表单form有三个属性,action是提交到哪里,method是提交方法。只要有图片上传,enctype就应该添加这个属性。
Django框架自带csrf_token,需要在首页生成csrf_token字符串来验证真实客户。
form action=/pic _ upload/ method= POST enctype= multipart/form-data
{%csrf_token%}
输入类型=文件名称=文件
输入类型=提交值=提交
/form2。以下是上传图片的界面:
defpic_upload(请求):
ifrequest.method==GET:
returnrender(request, helloapp/pic_upload.html ,locals())
ifrequest.method==POST:
错误=
fp=请求。FILES.get(file )
#fp获取了上传的文件对象。
iffp:
path=OS . path . join(static files _ dirs[0], image/fp.name) #上传文件的本地保存路径,image为静态文件。
在专用于存储图片的文件夹下
#fp.name#文件名
#yield=fp.chunks()#流式传输以获取文件内容
#fp.read()#直接读取文件的内容
Iffp.multiple_chunks():#判断上传文件大于2.5MB。
#真的
File_yield=fp.chunks()#迭代写入文件
withopen(path, wb)asf:
BUFFINFILE _ YIELD3360 # else只有正确执行才会执行。
f .写
else:
打印(“大文件已上传”)
else:
withopen(path, wb)asf:
f.write(fp.read())
打印(“小文件已上传”)
models . img path . objects . create(path=( image/ FP . name))# image是静态文件夹下专门用来存放图片的文件夹。
else:
错误=“文件上传为空”
returnrender(request, helloapp/pic_upload.html ,locals())
return Redirect( hello app/pic _ index/)#重定向到主页。3.制作图片显示页面,判断图片显示对应的接口传来的参数。
{ % forimginimgs % }
imgsrc={%staticimg.path%}
{%empty%}
H1你没有上传任何图片/h1
{%endfor%}4。图片显示界面:
defpic_index(请求):
imgs=模型。ImgPath.objects.all()
Render (request, helloapp/pic _ index.html ,locales())。此时,Django中的一个简单图片被上传到显示器上,它就完成了。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。