如何在Django表单中保留初始字段值

时间:2016-10-12 11:33:49

标签: django django-forms

在我的django表单中,我有一个隐藏的UUIDField的object_id:

class MyForm(forms.Form):
    object_id = forms.UUIDField(widget=forms.HiddenInput)

在我看来,我使用初始值填充此id字段。

form = MyForm(initial={'object_id': pk,})

我的想法是将主键传递给表单,然后在提交for时再将其恢复。这样可行。但是,如果用户篡改隐藏字段会怎么样?

为了防止这种情况,我在object_id上设置了 disabled = True ,根据documentation意味着应该遵守初始值(尽管这可能仅仅意味着定义的初始值)字段,而不是表单上定义的字段,通过视图?)。

不幸的是,结果是现在我的object_id返回一个None对象。

所以问题是,如果禁用字段意味着它不返回值。如果确实如此,有没有办法确保隐藏值通过提交的表单进行安全的往返?

0 个答案:

没有答案