即使没有上传图片,我也想提交表单.但我得到了错误
**MultiValueDictKeyError**
Run Code Online (Sandbox Code Playgroud)
这是我的views.py
filepath = request.FILES['filepath']
Run Code Online (Sandbox Code Playgroud)
了解如何拨打该错误:
使用MultiValueDict'sget方法访问文件.
filepath = request.FILES.get('filepath', False)
Run Code Online (Sandbox Code Playgroud)
如果filepath在FILES中没有,则filepath变量将为False.
使用三元运算符的一行分配 :
filepath = request.FILES['filepath'] if 'filepath' in request.FILES else False
Run Code Online (Sandbox Code Playgroud)(不推荐)处理MultiValueDictKeyError异常,如下面的代码:
from django.utils.datastructures import MultiValueDictKeyError
try:
filepath = request.FILES['filepath']
except MultiValueDictKeyError:
filepath = False
Run Code Online (Sandbox Code Playgroud)更新:正如@Saysa所指出的那样,在filepath你需要选择分配哪个默认值之后应该执行哪些步骤filepath,例如,如果必须处理filepath不存在的情况,FILES最好使用None默认值并检查if filepath is None已提交标识文件路径的条件,如果您需要一些默认值,只需指定它...
在上面的例子中,默认值是False让代码更明显...
| 归档时间: |
|
| 查看次数: |
6887 次 |
| 最近记录: |