Django MultiValueDictKeyError错误,如何处理?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1399)

Hay,我正在尝试将一个对象保存到我的数据库中,但是它正在抛出一个MultiValueDictKeyError错误。

问题在形式上,是_私有由复选框表示。如果未选中复选框,则显然没有传递任何内容。这就是错误被丢弃的地方。

我如何正确地处理这个异常?

is_private = request.POST['is_private']

谢谢

提问于
用户回答回答于

使用多重价值承诺get方法。这也存在于标准的DECTS中,并且是一种获取值的方法,同时如果不存在缺省值,则提供缺省值。

is_private = request.POST.get('is_private', False)

一般来说,

my_var = dict.get(<key>, <default>)
用户回答回答于

选择最适合你的:

is_private = request.POST.get('is_private', False);

如果is_private密钥存在于请求中。is_private变量将等于它,如果不是,那么它就等于false。

if 'is_private' in request.POST:
    is_private = request.POST['is_private']
else:
    is_private = False
from django.utils.datastructures import MultiValueDictKeyError
try:
    is_private = request.POST['is_private']
except MultiValueDictKeyError:
    is_private = False

扫码关注云+社区