我想即使不上传图像也要提交表格。但是我得到了错误

**MultiValueDictKeyError**

这是我的views.py
filepath = request.FILES['filepath']

最佳答案

了解如何拨打该错误的电话:

  • 使用MultiValueDict's get方法访问文件。
    filepath = request.FILES.get('filepath', False)
    

    如果文件中没有filepath,则filepath变量将为False。
  • ternary运算符分配一行:
    filepath = request.FILES['filepath'] if 'filepath' in request.FILES else False
    
  • (不推荐使用)处理MultiValueDictKeyError异常,如以下代码所示:
    from django.utils.datastructures import MultiValueDictKeyError
    
    try:
        filepath = request.FILES['filepath']
    except MultiValueDictKeyError:
        filepath = False
    

  • 更新:
    正如@Saysa指出的,要获取filepath后应该执行的步骤,您需要选择将哪个默认值分配给filepath,例如,如果您必须处理filepath中根本不存在FILES的情况,则最好使用None作为默认值,并检查条件作为if filepath is None以标识文件路径已提交,如果您需要一些默认值,只需分配它即可。

    在上面的示例中,默认值为False,以使代码对您更明显...

    关于python - 如何在Django中检查空的request.FILE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34941026/

    10-12 21:23