在不使用模型中的小部件的情况下,只读取每个单独的表单

时间:2010-12-02 18:46:16

标签: django-forms

我正在尝试使用某些表单构建模板。我有一个模型,一个实体有大约400个属性。现在我想制作两个不同的模板。在一个模板中,属性应该像django form do一样列出。在另一个模板中,属性应该只读。

我不想通过使用小部件为每个属性创建两个不同的表单。

cust_form = GeneralDataForm(instance=_customer, auto_id=False, label_suffix='')

我尝试在此处插入小部件,但它不起作用。

1 个答案:

答案 0 :(得分:2)

使用此代码,您可以只读取任何形式。你在找这样的东西吗?

cust_form_read_only = make_form_readonly(cust_form)

def make_form_readonly(form):
        for name, field in form.fields.items():
        field.widget.attrs['readonly'] = True
        field.widget.attrs['disabled'] = True
    return form