根据表单加载前的条件更改Django表单的外观

时间:2014-03-12 19:22:18

标签: django django-forms

我对Django很新,所以如果我的问题看起来很幼稚,请耐心等待。

如何在表单加载之前根据条件更改表单的值? 例如,如果有一个名为" Admin"的表单复选框字段,并且该用户是管理员,我想知道如何在表单加载之前检查该复选框字段。我是否将此逻辑添加到调用表单的视图中,还是将其添加到表单类中?

我正在使用Django 1.4。

1 个答案:

答案 0 :(得分:2)

在初始化表单对象之前,先在视图中进行检查。

if request.user.is_superuser:
  initial = {'checkboxfields_name':True}
else:
  initial = {'checkboxfields_name':False}

form = YourForm(request.POST, initial = initial) if request.method == 'POST' else YourForm(initial = initial)

类似的东西,我想。