python - 将查询结果重定向到另一个页面 flask

标签 python elasticsearch flask

我正在使用Python Flask制作一个页面以运行elasticsearch查询,然后将结果传递到另一个“结果”页面,但是当我重新启动该应用程序时,控制台中显示的正确结果却不存在。

下面的代码运行,

class Kannel(Form):
number = StringField('MSISDN', [validators.Length(max=16)])
ID = StringField('MessageID', [validators.Length(max=50)])

@app.route('/Kannel', methods=['POST','GET'])
def kannel():
    form = Kannel(request.form)
    if request.method == 'POST' and form.validate():
        number = request.form['number']
        ID = request.form['ID']
        res = search(number)
        session['res'] = res
        flash("Redirecting to results ...")
        return redirect(url_for('result'))
    else:       
        return render_template('kannel.html', form=form)

@app.route('/result', methods=['GET','POST'])
def result():
    output = session.get('res')
    return render_template('result.html', output=output)

search()是要在其他文件中运行的查询,它如上所述可以正确运行。

任何想法如何实现?

最佳答案

return redirect(url_for('.result'))

应该:
return redirect(url_for('result'))

不需要圆点。

除非您要重新定义:
@app.route('/result', methods=['GET','POST'])

但是我想这可能是错别字。

另一方面,您可能需要检查要放入 session 中的数据的大小。如果超过浏览器支持的cookie大小,则不会设置它。

关于python - 将查询结果重定向到另一个页面 flask ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46132351/

相关文章:

python - 如何在 Python 中制作 n 维嵌套 for 循环?

python - 无法在 ubuntu 上正确 pip install tsne?

python - 改进 python 代码片段

python - 查找整数的线性组合

java - 实现 twitter 和 facebook 之类的主题标签

java - Elasticsearch 优先考虑从匹配开始

java - 带过滤器的 Spring 数据 ElasticSearch 聚合

reactjs - Cognito/Flask/React:如何登录到后端?

python-2.7 - 使用冷冻瓶构建的静态站点没有链接到 index.html 的 CSS 文件

python - 将凭据传递给 Dash 的基本身份验证,因此用户无需再次输入