如何使用flask将提交的Python字符串显示到另一个HTML页面



我的应用程序最终将从示例列表中提取一个查询。目前,我正试图将输入HTML提交页面的术语呈现在结果HTML页面上。此刻";查询项";没有显示在我的结果页面上。我有一种感觉,@app.route("/result")上没有定义这个术语,这就是为什么什么都没有出现的原因。变量为空。我该如何着手解决我的问题?我是烧瓶新手!

Python

from flask import Flask, render_template, request, url_for, redirect
from test_list import test_list
app = Flask(__name__)
@app.route("/")
def home_page():
return render_template('index.html')
@app.route("/submit", methods=["POST", "GET"])
def submit():
if request.method == "POST":
queryterm = request.form["search"]
return redirect(url_for("result", queryterm=queryterm))
else:
return render_template('submit.html')
@app.route("/result")
def result():
result = test_list
return render_template('result.html', result=result)

HTML提交页面

{% block title %}Submit Page{% endblock %}
{% block content %}
<form action="#" method="post">
<p>Enter a search term</p>
<p><input type ="text" name="search" /></p>
<p><input type="submit" value="submit" /></p>
</form>
{% endblock %}

HTML结果页

{% block title %}Result Page{% endblock %}
{% block content %}
<p>The query for {{ queryterm }} has found:</p>
<ul>
{% for item in result %}
<li>{{ item }}</li>
{% endfor %}
</ul>

{% endblock %}

就我理解你的问题而言,你可以做一件事。在所有管线的顶部创建一个空列表。之后,您可以将数据附加到程序中的任何位置并访问该列表。

your_list = []
@app.route("/some_route")
'
'
your_list.append(your_data)
@app.route("/some_other_route")
'
'
print(your_list)

最新更新