【发布时间】:2023-04-01 06:14:02
【问题描述】:
我使用 models.py 中的 models.Model、forms.py 中的 ModelForm 和 oldschool Django 模板创建了一个简单的 html 表单(没什么花哨的)
如果用户在数字字段中输入文本并提交表单,服务器会返回KeyError
示例:以下字段“高度”:
class DataRegistryPart2(models.Model):
height = models.SmallIntegerField(blank=True, null=True)
将在模板中显示为html输入:
<input id="id_height" name="height" type="number">
我在 forms.py 中使用自定义验证:
...
def clean(self):
cleaned_data = super(CreatePatient, self).clean()
height = cleaned_data["height"] # <-- This is where the KeyError happens!
如果用户在输入字段中输入 文本 或 十进制 数字并提交 html 表单,Django 会返回 KeyError。
如何防止这种情况发生(不使用 try/catch)。
谢谢!
【问题讨论】:
标签: python django django-models django-forms