如何在不重新启动网络服务器的情况下更新flaskform selectfield

时间:2020-03-15 15:20:36

标签: python flask flask-sqlalchemy flask-wtforms

我已经分离出__ init __,路线,数据库模型和烧瓶形式的代码。

我在一种表单中有一个选择域,我从一个像这样从sqlalchemy查询中获得的列表中提供其选择项:

class myForm(FlaskForm):
    USERS = [u.username for u in User.query.all()]
    user = SelectField('Users', choices= [(user_, user_) for user_, user_ in enumerate(USERS)], coerce=str)

用户可以通过加载在不同flaskapp路由中的另一种形式将用户添加到数据库中,但是,当他们创建新用户时,此selectfield不会更新(即使在数据库中已更新)。重新启动Web服务器后,我只会在该选择字段中看到新添加的用户。

我希望更新我的选择字段,而无需重新启动Web服务器。

因此,在加载此长颈瓶表单的路线中,我尝试通过查询数据库并填充用户列表(类似于我在myForm类中所做的操作)来强制选择字段的更新,并通过列出Java脚本,然后在其中更新selectfield。

我能够以这种方式更新选择字段,但是当我选择新添加的用户作为表单的一部分并尝试提交表单时,它告诉我这不是有效的选择

如何在不重新启动Web服务器的情况下更新我的选择字段?

0 个答案:

没有答案
相关问题