动态选择WTForms Flask SelectField

动态选择WTForms Flask SelectField,第1张

动态选择WTForms Flask SelectField

这里的主要思想是在实例化之后将选择列表分配给该字段。为此,您需要使用arguments

coerce=int
。SelectField的coerce关键字arg表示我们使用int()来强制转换表单数据。默认强制为unipre()。

正确的FormModel:

class AddName(FlaskForm):    name =StringField('Device name', validators=[InputRequired(),Length(min=4, max=30)])    groupID = SelectField('Payload Type', coerce=int, validators=[InputRequired])

正确的视图:

@app.route('/dashboard/addname', methods=['GET', 'POST'])def addname():    available_groups=db.session.query(Groups).filter(Groups.userID == currend_user.userID).all()    #Now forming the list of tuples for SelectField    groups_list=[(i.groupID, i.groupName) for i in available_groups]    form=AddName()    #passing group_list to the form    form.groupID.choices = groups_list    if form.validate_on_submit():        name=Name(form.name.data,form.groupID.data)        db.session.add(name)        db.session.commit()        return "New name added"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5644577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存