MultiValueDictKeyError в /change-part/. В python django
Итак, я пытаюсь сделать систему загрузки изображений, и я делаю два разных типа изображений, есть статические и динамические
и я пытаюсь сделать разные действия/функции для этих типов, поэтому я сделал два 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
- это словарь как объект (подкласс dict). Поэтому, когда вы пытаетесь получить доступ к ключу и если ключ не существует в словаре, dictionary[key]
всегда поднимает KeyError
. Решением является использование метода get
вместо этого.
img_static = request.FILES.get('img_static', "")
Пытается получить доступ к ключу img_static
из request.FILES
. Если он не существует, будет использовано значение по умолчанию (второй аргумент).