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 相关文章推荐
Python 时间操作例子和时间格式化参数小结
Apr 24 Python
Python三元运算实现方法
Jan 12 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
Flask框架单例模式实现方法详解
Jul 31 Python
Django中自定义admin Xadmin的实现代码
Aug 09 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
python安装oracle扩展及数据库连接方法
2017/02/21 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
详解python中list的使用
2019/03/15 Python
联想中国官方商城:Lenovo China
2017/10/18 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
初三学生评语大全
2014/04/24 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
合作与交流自我评价
2015/03/09 职场文书
雾霾停课通知
2015/04/24 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
介绍信怎么写
2015/05/05 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android
Spring中bean集合注入的方法详解
2022/07/07 Java/Android