zoukankan      html  css  js  c++  java
  • 关于django批量上传图片

    本来想一张一张上传的,但是明显会对客户造成不必要的麻烦,所以如果前台一次性上传五张十张的话,那就简单的多。
     
    但是后台我数据库对于图片存储的字段只有一个,不可能有多少张照片就要多少个字段来存储。也就是说,1:我每次只能在后台存一张到数据库,
    2:在前台展示的时候我直接可以循环这一个字段来展示我的图片

    那么这就涉及到一个列表跟数据循环存储的东西了

    用到字典是因为我每张图片还有各自的图片描述,这两个信息时同时提交跟保存的。我把图片保存的url跟他的描述做成列表,然后再循环保存就搞定了。

    这里主要用到的就是python的zip()函数
    >>> s=['a','b']
    >>> b=['1','2']
    >>> zip(s,b)
    [('a', '1'), ('b', '2')]

    看我前台代码:
    <form method="POST" action="/savephoto/{{id}}/" enctype="multipart/form-data" name="form">
                              <p><label>上传图片</label>
                               <input type="file" name = "file" id="file">
                              </p>
    <p><label>对图片的描述</label>
                  <textarea name="describe" id="describe" cols="50" rows="5"></textarea>
                              </p>

                              <p><label>上传图片</label>
                               <input type="file" name = "file1" id="file1">
                              </p>
    <p><label>对图片的描述</label>
                  <textarea name="describe1" id="describe1" cols="50" rows="5"></textarea>
                              </p>

    后台:

        if 'file' in request.FILES:
          image =request.FILES['file']
          des = request.POST.get('describe','')
          imglist.append(image)
          deslist.append(des)
        if 'file1' in request.FILES:
          image =request.FILES['file1']
          des = request.POST.get('describe1','')
          imglist.append(image)
          deslist.append(des)
        
        info=zip(imglist,deslist)
        for (image,des) in info:
          m= UserPhoto(photo=image,user_id=id,describe=des)
          m.save()

    这样就成功将多图片的信息循环保存到UserPhoto里了!

  • 相关阅读:
    SharePreferences
    Android实现电话录音功能
    Android短信监听实现,及Android4.4之后短信机制变更
    java指纹识别+谷歌图片识别技术_源代码
    找出相似的图片--C#
    vim常用命令整理
    机器学习实战-logistic回归分类
    机器学习实战-朴素贝叶斯垃圾邮件分类
    机器学习实战-随机森林二分类问题
    分类算法
  • 原文地址:https://www.cnblogs.com/jxrichar/p/3901412.html
Copyright © 2011-2022 走看看