漆黑天使复活 2021-03-12 17:54 采纳率: 44.4%
浏览 115
已结题

ajax 上传带图片input的form表单 ,django 保存

前端是一个带图片上是图片上传的form,想用AJAX上传到后台保存

<form action="{% url '**'%}" method="POST" enctype="multipart/form-data">
	<div class="form-group">
         <div class="container">
				<div class="row">
					<div class="col-sm-12 col-md-2 " >
                       <label >Mate40Pro</label>
						 <select id='is_show'  class="form-control" name="is_show">
							<option value="showed">已上样</option>
							<option value="noshowd">未上样</option>
						 </select>
				    </div>
					<div class="col-sm-12 col-md-2 " >
						<label >上样照片</label><input  name='phone_pic' type="file">
					</div>
          </div>
     </div>
     <input type='submit' value='提交'>
</form>

django model部分就两个字段

phone_pic=models.filefeild(uploadto='pic')
is_show=models.charfield(max_lenght=40)

ajax 和后台Views部分,主要是图片上传那个,写了好久,各种错误。。。心累。。怎么搞啊。。。谢谢

 

  • 写回答

3条回答 默认 最新

  • 射手座男人 2021-03-12 18:12
    关注
    <form action="{% url '**'%}" method="POST" enctype="multipart/form-data">
    
    
    	<div class="form-group">
    
    
             <div class="container">
    
    
    				<div class="row">
    
    
    					<div class="col-sm-12 col-md-2 " >
    
    
                           <label >Mate40Pro</label>
    
    
    						 <select id='is_show'  class="form-control" name="is_show">
    
    
    							<option value="showed">已上样</option>
    
    
    							<option value="noshowd">未上样</option>
    
    
    						 </select>
    
    
    				    </div>
    
    
    					<div class="col-sm-12 col-md-2 " >
    
    
    						<label >上样照片</label><input  name='phone_pic' type="file" id="file">
    
    
    					</div>
    
    
              </div>
    
    
         </div>
    
    
         <input type='submit' value='提交' id="submit">
    
    
    </form>
    
    <script>
    window.onLoad = function() {
    
        var Asubmit = document.getElementById('submit')
        var fileList = document.getElementById('file')[0].files
        Asubmit.onclick = function() {
            var formData = new FormData();
            for (var i = 0; i< fileList.length; i++) {
                formData.append('files', fileList[i])
            }
    
            formData.append('其他参数',val)
           //  下面写ajax 
            ajax里面的data 传formData
    
        }
    }
    
    </script>

    总得来说就是通过formData 来传递参数,希望对你能有帮助

    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?