我已经能够实现此更改以创建在 WTForms 中禁用的字段。如何在渲染之前选择性地禁用视图中的字段?
问问题
28144 次
3 回答
23
vim表单.py:
add_time = DateTimeField(
'添加时间',
format='%Y-%m-%d %H:%M:%S',
default=datetime.datetime.now(),
# I use bs3,and it well add input an attribute disabled
render_kw={'disabled':''},
validators=[DataRequired()],
)
于 2017-01-22T07:38:16.963 回答
9
这几乎就像@Bibhas 提议的那样。如果我理解正确并且您想通过 html disabled 属性禁用字段,那么以下内容对我有用:
form.field(disabled=True)
这个答案可能有点晚了,但如果其他人有这个问题,它可能会有所帮助。
于 2015-10-10T16:42:03.800 回答
7
如果您尝试删除一个字段,您可以查看文档中的Removing Fields Per-instance。
从文档:
有时,您创建的表单中的字段并非在所有情况下或对所有用户都有用。虽然通过表单继承确实可以定义具有您需要的字段的表单,但有时只需调整现有表单即可。幸运的是,表单可以使用 del 关键字在实例化后删除字段:
class MagazineIssueForm(Form):
title = TextField()
year = IntegerField('Year')
month = SelectField(choices=MONTHS)
def edit_issue():
publication = get_something_from_db()
form = MagazineIssueForm(...)
if publication.frequency == 'annual':
del form.month`
于 2013-05-07T17:30:25.460 回答