我在基本模板中有一个搜索表单,以便用户可以从任何页面进行搜索。如果他们从/
,/home
或/speciesinfo
进行搜索,则可以正常使用。如果他们从搜索结果页/speciesinfo/<nrcs_species>
进行搜索,则无效。为什么我的搜索仅适用于某些页面?
@app.route('/result', methods = ['GET', 'POST'])
def result():
if request.method == 'POST':
spp = request.form.get('query')
query = SPInfo.query
if spp:
query = query.filter(or_(
(func.lower(SPInfo.NRCS_Species.contains(spp))),
(func.lower(SPInfo.NRCS_CommonName.contains(spp))),
(func.lower(SPInfo.MTNHP_Species.contains(spp))),
(func.lower(SPInfo.Synonyms.contains(spp))),
))
return render_template('result.html', results=query.all())
return render_template('result.html')
<form method="POST" action="result">
<input name="query"/>
</form>
答案 0 :(得分:0)
将form
文件中的layout.html
定义更改为:
<form method="POST" action="{{ url_for('result') }}">
它应该解决你的问题。