禁用Django表单中BooleanField的修改

2 投票
1 回答
1825 浏览
提问于 2025-04-18 01:52

我在表单里有一个布尔字段(就是一个可以是“真”或“假”的选项),我希望它只能是“真”。有没有简单的方法可以做到这一点?有没有什么属性可以防止它被更改?

1 个回答

8

是的,可以通过小部件的属性来实现。

代码:

from django import forms
class MyForm(forms.Form):
    ReadonlyBoolField = forms.BooleanField(initial = True)
    ReadonlyBoolField.widget.attrs['readonly'] = True

测试:

>>>f = MyForm()
>>>str(f)
'<tr><th><label for="id_ReadonlyBoolField">Readonlyboolfield:</label></th><td><input readonly="True" type="checkbox" name="ReadonlyBoolField" id="id_ReadonlyBoolField" /></td></tr>'

链接:

撰写回答