中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django上傳文件時,request.FILES為空怎么辦

發布時間:2020-07-23 09:55:30 來源:億速云 閱讀:439 作者:小豬 欄目:開發技術

小編這次要給大家分享的是Django上傳文件時,request.FILES為空怎么辦,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

用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為空怎么辦的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安平县| 剑河县| 阿拉善盟| 龙岩市| 垫江县| 多伦县| 营山县| 准格尔旗| 连城县| 宝丰县| 广宁县| 吴江市| 盖州市| 高陵县| 同江市| 延庆县| 石棉县| 元朗区| 靖安县| 泸水县| 朝阳县| 平顶山市| 黄大仙区| 吉安市| 眉山市| 九寨沟县| 南开区| 杨浦区| 莱州市| 金溪县| 盘锦市| 浦东新区| 朝阳区| 辽宁省| 木里| 天祝| 云和县| 西平县| 南和县| 蓬安县| 涞源县|