页面加载时初始化flask-wtf表单

时间:2015-02-15 19:18:57

标签: python flask flask-wtforms

每当启动烧瓶服务器时,所有表单都会在此时初始化。数据在页面之间互连,因此对于一种形式,选择来自数据库,这些选择可以使用另一页上的另一种形式进行编辑,但是在该页面上更新选项后,它们对于第一种形式保持相同。要获取新值,我需要重新启动服务器。有没有办法刷新值而不重新启动服务器?

这就是表格的样子

class AddExpenses(Form):
reason = wtforms.StringField('reason', [validators.Required()])
amount = wtforms.IntegerField('amount', [validators.Required()])
allnames = []
allnames = getSalesman()
salesperson = wtforms.SelectField('salesperson', choices=[names for names in allnames])
submitfield = wtforms.SubmitField('Submit')

getSalesman()函数用于查询数据库并获取选择。

1 个答案:

答案 0 :(得分:0)

为什么不在视图函数中获取需要表单的选项?例如

@app.route('/index')
def index():
    form = AddExpenses()
    allnames = getSalesman()
    form.salesperson.choices = [names for names in allnames]
    ...

如果数据库不经常更改,您可能还想在getSalesman()上使用一些缓存。