Django:有什么方法可以“参数化”表单字段的显示和可编辑性。

时间:2012-04-05 11:07:10

标签: django forms django-forms

Django:有什么方法可以“参数化”表单字段的显示和可编辑性。

我有几种表单,我希望表单显示中缺少某些字段(取决于当前用户),而某些字段是不可编辑的,具体取决于用户。

这需要在服务器上强制执行,以便恶意用户无法通过手动构建缺少参数的发布请求来破坏安全性。

同样,未向用户显示的字段仍必须返回到表单结果中,以便在模型写回数据库时不会向用户显示而不会“擦除”的字段。< / p>

我还需要为模板解决相同的隐藏问题。

该应用程序将有数十种形式,具有不同的不变性/隐藏要求,因此这需要是一个通用系统。每个表单内的编码权限都很容易出错。

任何帮助表示感谢。

克里斯。

1 个答案:

答案 0 :(得分:1)

要隐藏表单显示中的字段,只需删除表单__init__方法中不需要的字段。通过添加已删除的字段来构建帖子请求,不会对表单产生影响。

关于已停用或只读字段,请查看this文章和another问题。基本上,清洁区域应将其设置为初始状态。