/change-part/ 处的 MultiValueDictKeyError。在 python 中

MultiValueDictKeyError at /change-part/. In python django

所以我尝试做一个上传图片系统,我做了两种不同类型的图片,有静态的和动态的

我尝试为这些类型制作不同的 act/function,所以我制作了两个 if

像这样,

if len(request.FILES['img_dinamic']) != 0:
    part = WebPart.objects.get(part=partToChange)
    if len(part.dinamic_image) > 0:
        os.remove(part.dinamic_image.path)
    img_dinamic = request.FILES['img_dinamic']
else:
    img_dinamic = ""

还有一个是这样的

if len(request.FILES['img_static']) != 0:
    img_static = request.FILES['img_static']
else:
    img_static = ""

当我尝试 运行 系统时,出现了这样的错误

MultiValueDictKeyError at /change-part/
'img_static'

任何人都可以帮助我吗?

request.FILES is a dictionary like object(Subclass of dict)。因此,当您尝试访问一个键时,如果该键在字典中不存在,dictionary[key] 总是引发 KeyError.解决方案是改用get方法。

img_static = request.FILES.get('img_static', "")

这将尝试从 request.FILES 访问密钥 img_static。如果不存在,将使用默认值(第二个参数)。