Flask形状。如何使视图中的变量可见表单.py

2024-04-19 20:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是烧瓶和水。 我在烧瓶里看到了:

@app.route('/test/<bar>')
def foo(bar):
    form = SomeForm():
        if form.validate_on_submit():
            query = User(somedata = form.somedata.data,
                         another_data = form.anotherdata.data)
            db.session.add(query)
            db.session.commit()
            flash('ok')
            return redirect(url_for('main.index'))
    return render_template('test.html', form=form, bar=bar)

还有一个表格:

^{pr2}$

我需要从我的视图中获取变量'bar',并使其在表单中可见,以便在表单的选择字段中使用2个条件(age和bar)进行查询。在


Tags: testformapp表单dbdatareturn烧瓶
1条回答
网友
1楼 · 发布于 2024-04-19 20:22:19

__init__中执行此操作,而不是在定义窗体类时。在

class SomeForm(Form):
    def __init__(self, bar, *args, **kwargs):
        ch1 = SomeTable.query.filter_by(bar=bar)
        self.choice1.kwargs['choices'] = tuple((e.name, e.name) for e in ch1)
        super(SomeForm, self).__init__(*args, **kwargs)

然后在视图中:

^{pr2}$

相关问题 更多 >