【发布时间】:2015-11-07 14:13:01
【问题描述】:
我在Flask 中创建了一个简单的应用程序。当用户填写表单时,它在index.html 中返回results.html 模板,它与索引非常相似,但结果在这里返回(结果是使用表单找到的数据库中的数据)。
我想让“results.html”能够接收数据,这样我就可以填写表格,查看结果并再次填写表格......等等。
问题是我不知道如何设置“results.html”来接收这些数据,因为当它们被渲染时,仍然有没有任何后缀的“http://127.0.0.1:5000/”——results.html 或其他东西,因此我无法分配与输入一起使用的功能。
@app.route('/results.html' ....
代码:
# -*- coding: utf-8 -*-
from flask import request,render_template,Flask
from databases import db_manager
app = Flask(__name__)
app.config.from_object(__name__)
def is_instance(a):
return isinstance(a,basestring)
app.jinja_env.globals.update(is_instance=is_instance)
@app.route('/', methods=['GET', 'POST'])
# @app.route('/index', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
query = request.form['query']
if query.isdigit():
_data = db_manager.manager().get_subject_by_ICO(query)
else:
_data = db_manager.manager().get_subject_by_name(query)
else:
return render_template('index.html')
return render_template('results.html', data = _data)
if __name__ == '__main__':
app.run(debug=True)
现在,我可以转到:“http://127.0.0.1:5000/”并填写表格并查看数据,但如果不刷新页面,我将无法再次这样做。
你知道我要做什么吗?
【问题讨论】:
标签: python html web-applications flask