Django 解决上传文件时,request.FILES为空的问题


Posted in Python onMay 20, 2020

用html的form上传文件时,request.FILES为空,没有收到上传来的文件,但是在request.POST里找到了上传的文件名(只是一个字符串)。

解决方法:

为form表单规定enctype属性,其值为"multipart/form-data"。

enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

描述
application/x-www-form-urlencoded 在发送前编码所有字符(默认)
multipart/form-data 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain 空格转换为 “+” 加号,但不对特殊字符编码。

<form action="xxx" method="xxx" enctype="multipart/form-data">

这样在request.FILES就能找到上传的文件啦 U*_*U

补充知识:解决Django文件上传views报错NoneType,其他能收到

Django通过form表单给后台提交一个文件的时候,报错

'NoneType' object has no attribute 'name'

前端:

<form accept-charset="UTF-8" action="跳转链接" method="post">
  <div>
    <input type="file" name="t_photo" accept="image/*">
  </div>
</form>

后端收不到这个文件,但其他的字符串数据能正常收到。

解决:

1.首先看一下,上传文件的form表单必须加上enctype="multipart/form-data",因为默认情况下,编码enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。

<form accept-charset="UTF-8" action="跳转链接" method="post" enctype="multipart/form-data">
  <div>
    <input type="file" name="t_photo" accept="image/*">
  </div>
</form>

2.再检查一下,Django的view中接受文件不是在POST里,而是在FILE里。

request.POST.get('t_photo') # 不是在POST里
request.FILES.get('t_photo', None)

以上这篇Django 解决上传文件时,request.FILES为空的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
Python中类型关系和继承关系实例详解
May 25 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
用Python绘制漫步图实例讲解
Feb 26 Python
Python开发企业微信机器人每天定时发消息实例
Mar 17 Python
python获取响应某个字段值的3种实现方法
Apr 30 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
使用 django orm 写 exists 条件过滤实例
May 20 #Python
django 解决自定义序列化返回处理数据为null的问题
May 20 #Python
python实现126邮箱发送邮件
May 20 #Python
python3.6使用SMTP协议发送邮件
May 20 #Python
Python操作Excel把数据分给sheet
May 20 #Python
python3通过qq邮箱发送邮件以及附件
May 20 #Python
学会python自动收发邮件 代替你问候女友
May 20 #Python
You might like
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
JS面向对象编程实现的Tab选项卡案例详解
2020/03/03 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
Python创建xml的方法
2015/03/10 Python
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
详解python运行三种方式
2019/05/13 Python
Python列表操作方法详解
2020/02/09 Python
Python里面如何拷贝一个对象
2014/02/17 面试题
个人简历自我评价
2014/01/06 职场文书
加入学生会演讲稿
2014/04/24 职场文书
幼儿评语大全
2014/04/30 职场文书
护士工作失误检讨书
2014/09/14 职场文书
党员争先创优承诺书
2015/01/20 职场文书
岳庙导游词
2015/02/04 职场文书
大二学年个人总结
2015/03/03 职场文书
休学证明范本
2015/06/19 职场文书
开学第一周总结
2015/07/16 职场文书
生产实习心得体会范文
2016/01/22 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang