本来想一张一张上传的,但是明显会对客户造成不必要的麻烦,所以如果前台一次性上传五张十张的话,那就简单的多。
 
但是后台我数据库对于图片存储的字段只有一个,不可能有多少张照片就要多少个字段来存储。也就是说,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里了!

关于django批量上传图片的更多相关文章

  1. django rest framework批量上传图片及导入字段

    一.项目需求 批量上传图片,然后批量导入(使用excel)每个图片对应的属性(属性共十个,即对应十个字段,其中外键三个). 二.问题 一次可能上传成百上千张图片和对应字段,原来数据库的设计我将图片和对 ...

  2. -Android -线程池 批量上传图片 -附php接收代码

    (出处:http://www.cnblogs.com/linguanh/) 目录: 1,前序 2,类特点 3,用法 4,java代码 5,php代码 1,前序 还是源于重构,看着之前为赶时间写着的碎片 ...

  3. ecshop编辑器FCKeditor修改成KindEditor编辑批量上传图片

    ecshop一直使用的编辑器是fck,这个不用多说,相信很多朋友用的很悲剧吧,特别是图片不能批量上传图片.     今天小编就分享一下怎么换掉fck,放上实用的kindeditor,最新ecshop版 ...

  4. 调用KEditor批量上传图片

    调用KEditor批量上传图片: <script charset="utf-8" src="/Keditor/kindeditor.js">< ...

  5. 使用plupload绕过服务器,批量上传图片到又拍云

    本文最初发布于我的个人博客:Jerry的乐园 综述 论坛或者贴吧经常会需要分享很多图片,上传图片比较差的做法是上传到中央服务器上,中央服务器再转发给静态图片服务器.而这篇文章讲介绍如何使用pluplo ...

  6. ASP.net(C#)批量上传图片(完整版)

    摘自:http://www.biye5u.com/article/netsite/ASPNET/2010/1996.html   这篇关于ASP.Net批量上传图片的文章写得非常好,偶尔在网上看到想转 ...

  7. CkEditor批量上传图片(java)

    CKEditor上传视频CKEditor批量上传图片flvplayer.swf播放器CKEditor整合包(v4.6.1) ------------------------------------ 最 ...

  8. 使用kindeditor来替换ecshop的fckeditor编辑器,让ecshop可以批量上传图片

    老杨原创 kindeditor此编辑器可以让ecshop批量上传图片,可以插入代码,可以全屏编辑,可以插入地图.视频,进行更多word操作,设置字体. 步骤一:进入kindeditor的官网,http ...

  9. 使用WebUploader客户端批量上传图片,后台使用springMVC接收实例

    使用WebUploader客户端批量上传图片,后台使用springMVC接收实例 我是搞Java后台的,因为最近主管让用webUploader写客户端,但是在网上找了很多,能够复制就能用的并没有几个, ...

随机推荐

  1. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(四)-- Middleware

    本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Middleware功能支持. 在演示Middleware功能之前,先要了解一下Asp ...

  2. Nob畅想在线教育

    1.社交网络的课堂实时互动 老师上课,每当和同学们互动时大家下边总是保持沉默,低着头,几乎每人拿着一部手机在看,还有pad等. 张星老师的课算是好一点,学生可以抬着头然后手下边捏着手机,时不时低头看一 ...

  3. arcgis api for javascript 3.16开发(一)

    原来一直都在用Flex开发arcgis的地图接口,用的时间很长,用的习惯也顺手,可Flex这个开发工具已经基本要淘汰了,并且地图借助flash的方式加载在浏览器里已经不能适应webgis的快速开发需求 ...

  4. Material Design:CollapsingToolbarLayout

    activity_main.xml: <android.support.design.widget.CoordinatorLayout xmlns:android="http://sc ...

  5. Linux平台下:块设备、裸设备、ASMlib、Udev相关关系

    对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: ...

  6. Mysql 简单问题汇总(持续更新)

    主从架构相关问题 问题现象:从机连接主机时报错 [ERROR] Slave I/O: error connecting to master 'repl@192.168.0.50:3306' - ret ...

  7. 共享内存shared pool (5):详解一条SQL在library cache中解析

    前面介绍的 shared pool,library cache结构,都是为了说明一条SQL是如何被解析的.先看下面的图: 图中涉及的各结构简单介绍 父HANDLE,里面有父游标堆0的地址.. 父游标堆 ...

  8. selenium+python登录登出百度,等待页面加载,鼠标定位

    #coding:gbk from selenium import webdriver from selenium.webdriver.common.keys import Keys from sele ...

  9. Python学习教程(learning Python)--1.3 Python数据输入

    多数应用程序都有数据输入语句,用于读入数据,和用户进行交互,在Python语言里,可以通过raw_input函数实现数据的从键盘读入数据操作. 基本语法结构:raw_input(prompt) 通常p ...

  10. openSUSE13.1 Yast 中所有软件图形化界面无法打开,问题原因: Ruby

    因为使用rvm安装了新的Ruby,而openSUSE13.1的YaST又是用Ruby的.....解决方案暂时没有