在python中将字符串值从一个路由函数传递给另一个

时间:2019-01-02 07:51:24

标签: python flask

我正在做一个烧瓶项目。

我用以下说明创建了一个

from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired

class SearchRestaurantForm(FlaskForm):
    query = StringField('Query', validators=[DataRequired()])
    searchButton = SubmitField('Search')

如下所示,可以在名为search的路由功能中访问此表单。

@app.route("/search", methods=['GET', 'POST'])
def search():
    form = SearchRestaurantForm()
    if form.validate_on_submit():
        query_ = form.query.data
        return redirect('/result?query='+query_)
    return render_template('search.html', title='Search', form = form)

我想在另一个名为StringField query的路由函数中使用result的数据,如下所示。

@app.route("/result", methods=['GET'])
def result():
    query__ = query_
    restaurants = find_appro_res(query__)
    return render_template('result.html', res_list=restaurants)

我不知道如何在str函数中访问search函数的result

我是新来的烧瓶。

1 个答案:

答案 0 :(得分:0)

如果要在flask的端点中使用request参数,则始终可以使用flask的request来访问传入的请求数据,可以使用flask的全局request对象。

要解决问题,请修改result函数,如下所示:

from flask import request
@app.route("/result", methods=['GET'])
def result():
   query__ = request.args.get('query') # This will capture the request argument
   restaurants = find_appro_res(query__)
   return render_template('result.html', res_list=restaurants)