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)