我试图将一个对象保存到数据库中,但它抛出了一个MultiValueDictKeyError错误.

问题在于表单中,is_private由一个复选框表示.如果未选中该复选框,则显然不会传递任何信息.这就是错误被抛弃的地方.

我如何正确处理这个异常,并抓住它?

电话是

is_private = request.POST['is_private']

推荐答案

使用多值dict的get方法.这也出现在标准DICT上,是一种获取值的方法,同时在不存在值的情况下提供默认值.

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

通常地

my_var = dict.get(<key>, <default>)

Python相关问答推荐

socket.gaierror:[Errno -2]名称或服务未知|Firebase x Raspberry Pi

Matplotlib轮廓线值似乎不对劲

更改Seaborn条形图中的x轴日期时间限制

Pandas 在时间序列中设定频率

将轨迹优化问题描述为NLP.如何用Gekko解决这个问题?当前面临异常:@错误:最大方程长度错误

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

如何让 turtle 通过点击和拖动来绘制?

我必须将Sigmoid函数与r2值的两种类型的数据集(每种6个数据集)进行匹配,然后绘制匹配函数的求导.我会犯错

使用plotnine和Python构建地块

使用SciPy进行曲线匹配未能给出正确的匹配

将特定列信息移动到当前行下的新行

根据在同一数据框中的查找向数据框添加值

使用setuptools pyproject.toml和自定义目录树构建PyPi包

如何在Raspberry Pi上检测USB并使用Python访问它?

在含噪声的3D点网格中识别4连通点模式

Python列表不会在条件while循环中正确随机化'

在matplotlib中删除子图之间的间隙_mosaic

try 检索blob名称列表时出现错误填充错误""

Gekko中基于时间的间隔约束

语法错误:文档. evaluate:表达式不是合法表达式