Heim > Fragen und Antworten > Hauptteil
Ich habe kürzlich eine Webanwendung mit Flask entwickelt, die über eine Suchseite und eine Ergebnisseite verfügt. Derzeit wurden diese Formulare in der Routing-Funktion der Suchseite erfolgreich verarbeitet und die Ergebnisse werden gespeichert Eine Variable vom Typ Liste. Ich möchte diese Variable an eine andere Seite, die Ergebnisseite, übergeben und die Ergebnisse anzeigen. Gibt es eine Möglichkeit, Parameter zwischen Routen zu übergeben?
@app.route('/search', methods=['get', 'post']) #这是搜索页面
def fsearch():
....
if request.method == 'POST':
results = multiselect(request) #这是处理表单的函数,reslults为list类型变量
...
return render_template("new.html")
@app.route('/result', methods=['get', 'post']) #这是结果页面
def fresult():
...
return render_template("result.html")
淡淡烟草味2017-05-18 10:51:28
用个全局变量
results = None
@app.route('/search', methods=['get', 'post']) #这是搜索页面
def fsearch():
....
if request.method == 'POST':
global results
results = multiselect(request) #这是处理表单的函数,reslults为list类型变量
...
return render_template("new.html")
@app.route('/result', methods=['get', 'post']) #这是结果页面
def fresult():
global results
print results
return render_template("result.html")
怪我咯2017-05-18 10:51:28
@app.route('/search', methods=['get', 'post']) #这是搜索页面
def fsearch():
....
if request.method == 'POST':
results = multiselect(request) #这是处理表单的函数,reslults为list类型变量
....
return return render_template("result.html", results=results)
return render_template("new.html")
phpcn_u15822017-05-18 10:51:28
为什么一定要用post呢,可以参考我的实现
class SearchView(MethodView):
def get(self):
query_dict = request.data
page, number = self.page_info
keyword = query_dict.pop('keyword', None)
include = query_dict.pop('include', '0')
if keyword and len(keyword) >= 2:
fields = None
if include == '0':
fields = ['title', 'content']
elif include == '1':
fields = ['title']
elif include == '2':
fields = ['content']
results = Topic.query.msearch(
keyword, fields=fields).paginate(page, number, True)
data = {'title': 'Search', 'results': results, 'keyword': keyword}
return render_template('search/result.html', **data)
data = {'title': 'Search'}
return render_template('search/search.html', **data)
demo