我目前正在使用WTForms-Alchemy为我的数据库模型创建表单。
我的User.py看起来像这样:
class User(UserMixin, db.Model, CreationDateMixin):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(50), info={
'label': 'Firstname',
'validators': validators.Length(min=3)
})
对于模型,我使用WTForms-alchemy定义了一个表单:
class EditProfileForm(ModelForm, FlaskForm):
class Meta:
model = User
submit = SubmitField("Update")
我正在像这样的Jinja2模板文件中使用表单:
{{ form.short_name }}
是否可以为User.py类中的文本输入定义占位符?我已经尝试过在信息块中添加参数“占位符”,但这没用。
答案 0 :(得分:0)
WTForms有一个参数render_kw
,它是一个字典,它描述要传递给表单对象的渲染小部件的参数。 [https://wtforms.readthedocs.io/en/stable/fields.html#the-field-base-class]
info参数是传递给WTForms函数的参数的字典,因此解决方案是传递另一个dict的字典:
class User(UserMixin, db.Model, CreationDateMixin):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(50), info={
'label': 'Firstname',
'validators': validators.Length(min=3),
'render_kw': {'placeholder': 'FIRST NAME'}
})