根据加载窗体之前的条件更改Django窗体的外观

根据加载窗体之前的条件更改Django窗体的外观,django,django-forms,Django,Django Forms,我对Django很陌生,所以如果我的问题看起来很幼稚,请容忍我 如何在加载窗体之前根据条件更改窗体的值? 例如,如果有一个名为“Admin”的表单复选框字段,并且用户是管理员,我想知道如何在加载表单之前选中该复选框字段。我是将此逻辑添加到调用表单的视图中,还是将其添加到表单类中 我使用的是Django 1.4。在初始化表单对象之前在视图中检查它 if request.user.is_superuser: initial = {'checkboxfields_name':True} else:

我对Django很陌生,所以如果我的问题看起来很幼稚,请容忍我

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


我使用的是Django 1.4。

在初始化表单对象之前在视图中检查它

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)
我猜是这样的。

甚至
form=YourForm(request.POST或None,initial=initial)
@karthikr,如果我们玩
form=YourForm(request.POST或None,initial={'checkboxfields\u name':request.user.is\u superuser})
;-)