django显示图片,django图片上传与显示

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: