我在一页上使用两张表格(我有我的理由)。它们不是模型表格。我试图用前缀来验证它们。我在这里找到的:Proper way to handle multiple forms on one page in Django 但是当我试图获取干净的数据时,我得到了密钥错误。 以下是我的一些代码:
add_form = AbsenceTypeForm(request.POST, prefix = 'atype')
if add_form.is_valid():
absence_type = AbsenceType(
client = client_instance,
name = add_form.cleaned_data['type_name'],
gainful = add_form.cleaned_data['gainful'],
)
absence_type.save()
我得到了键入\u name的KeyError。我试图添加cleaned_data['atype-type_name']
-没有任何帮助。在
可能您在发布的表单中留下了
type_name
为空;cleaned_data
只包含非空表单字段的键。在把清理后的数据放到某个地方,放在屏幕或文件中,只是为了检查它得到的键,怎么样?调试器还应该在局部变量中显示字典。我猜可能是前缀丢失/拼写错误,或者是表单字段名。在
顺便说一句,我同意使用.get()更安全(尽管看起来表单验证应该已经由is_valid()处理,但是您将来可能会决定将该字段更改为非强制字段,然后此代码将出错),因此:
相关问题 更多 >
编程相关推荐