我正在尝试在Flask / Python中创建应用。
我有index.html
,其中有一个表单。如果您填写此表单并按Enter键,则会返回results.html
,其中包含根据您填写的查询的信息。
我的问题是该网址仍为http://127.0.0.1:5000/index.html
,但我想要http://127.0.0.1:5000/results.html
我怎么能这样做?
# -*- coding: utf-8 -*-
from flask import request,render_template,Flask,redirect
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('/index.html', 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)
@app.route('/')
def to_index():
return redirect('/index.html')
if __name__ == '__main__':
app.run(debug=True)
答案 0 :(得分:0)
首先,要使此url(results.html)可用,您需要添加适当的路径
@app.route('/results.html')
接下来是您的代码现在的工作方式 - 在index.html上发布请求后,它不会将用户重定向到另一个网址。您只需在同一个url(index.html)中呈现results.html模板。为了实现您的目标,您需要将用户重定向到results.html,并使用一些客户端相关存储(例如,存储)保存您想要显示的数据。