每当我使用 WTForms 表单显示数据库中的数据时:
sql = "SELECT * FROM rolodex WHERE rolodex_id = " + rolodex_id
cursor = mdb_connect("DictCursor")
cursor.execute(sql)
row = cursor.fetchone()
form = RolodexEntry(**row)
return bottle.template('entry',rolodex_id=rolodex_id,form=form)
(所有表单域都是 TextFields)
空和 NULL 数据库字段值显示为“无”。我希望它们只是空的。我可以想出几种方法来解决这个问题,但我想知道是否有一些 WTForms 批准的方法可以将 Textfield 的默认值设置为空字符串而不是 None?
瓶子模板为我提供了一种简单但有点乏味的方法来逐案解决这个问题:
<p style='font-weight: bold; color: blue; margin-left: auto; margin-right: auto; width: 50%'>
% if form.firstname.data:
{{form.firstname.data}}
% end
% if form.lastname.data:
{{form.lastname.data}}
% end
</p>
我尝试更改字段定义中的默认属性:
firstname = TextField('First Name',[validators.length(max=40)], default="")
但这没有做任何事情;即 form.firstname.data 仍然显示为None
好像该字段在数据库中为空。