+注意:这是我关于StackOverflow的第一个问题,反馈非常受欢迎。
我正在一个有很多页面的网站上工作,我想在用户使用搜索栏时显示带有模板的查询的一些结果,但是如果用户使用导航栏转到我的页面,我想呈现另一个模板
@app.route("/python", methods=['GET', 'POST'])
def python():
language = 'python'
search(language)
return render_template("python/python.html")
def search (language):
if request.method == 'POST':
query = request.form['search_input']
print(query)
return render_template('results_render.html',
language = language, results = query)
经过一些测试,我总结了行为:
-1.我不知道我的results_render.html是否被退回/渲染。
-2.我知道我的python / python.html页面被渲染了,但是我不知道
是否覆盖我的results_render.html渲染。
我的预期行为是:
-1.如果用户转到myhost / python
return render_template("python/python.html")
应该运行。
-2.如果用户在myhost / python中搜索内容,则def search(languages):
应该return render_template('results_render.html',
language = language, results = query)
,同时覆盖
return render_template("python/python.html")
可选:如果有必要,可以将用户路由到myhost /语言/结果(语言是var)。
答案 0 :(得分:1)
您需要返回val cell: Cell? = row.getCell(cellAddress.column, Row.MissingCellPolicy.RETURN_BLANK_AS_NULL)
return cell ?: throw UnexpectedExcelStructureException("Unable to find $cellAddress cell on the $sheetName sheet or cell is empty")
返回的值。您可以使用search
来决定是否需要这样做,因此它变为:
request.method
根据您的示例,甚至更好:
@app.route("/python", methods=['GET', 'POST'])
def python():
language = 'python'
if request.method == 'POST':
return search(language)
return render_template("python/python.html")