91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

延寿县| 年辖:市辖区| 大渡口区| 金塔县| 咸宁市| 靖远县| 望都县| 太保市| 山西省| 五莲县| 荆门市| 麻栗坡县| 建瓯市| 江油市| 东乡县| 白山市| 通化县| 台东市| 谷城县| 丰顺县| 将乐县| 鲁甸县| 巩义市| 高青县| 河间市| 安仁县| 清徐县| 延川县| 长沙县| 苗栗县| 西畴县| 白银市| 滦平县| 和林格尔县| 寿阳县| 盘山县| 龙泉市| 陆河县| 无棣县| 武穴市| 莱阳市|