Flask webapp 生成永久报告为 link
Flask webapp generating permanent report as link
好的,我找不到任何符合我的问题或用例的描述。
我开发了一个 flask 网络应用程序,用户可以在第一个模板中输入一些表单数据来进行数据库查询。基于查询结果,呈现具有输出的第二个模板,这将以可读的方式呈现结果。
我的问题是,我想为 documentation/report 提供一个 link,有人只需打开 link 就可以查看显示的相同报告。
或者将生成的 html 另存为 pdf 格式保存在 google 驱动器上。
有什么解决这个问题的建议吗?
当您看到示例代码时,我想打开 out.html,因为它是稍后使用特定用户输入呈现的。
我没有找到任何生成那个 link 的方法,如果可能的话?
from flask import Flask
app = Flask(__name__)
@app.route('/start')
def start():
return render_template("start.html")
@app.route('/out')
def out():
input = request.form
return render_template("out.html", input=input["Test"])
Start.html
<!doctype html>
<html>
<body>
<h1>Start</h1>
<form action = "/out" method = "POST">
<p>Test<input type = "text" name = "Test" required/></p>
<p><input type = "submit" value = "SUBMIT" /></p>
</form>
</body>
</html>
'''
'''out.html
<!doctype html>
<html>
<body>
<h1>Out</h1>
<p>{{input}}</p>
</body>
</html>
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def index():
return """<form action="/result" method="GET">
<input type="text" name="test"><input type="submit"></form>"""
@app.route("/result")
def result():
return request.args.get("test")
if __name__ == "__main__":
app.run()
您可以从地址栏复制 link,结果相同。
编辑:
我无法理解你的问题。
所以我猜你的 {{input}}
没有得到价值。
如果是这样,
您需要在后端执行此操作:
......
input = request.args.get("test")
return render_template("out.html", input=input)
......
编辑 2
或者您可以使用 sql 数据库存储输入值,每个新输入值都有 16 位唯一 ID。
....
@app.route("/<unique>")
def result(unique):
#retrieve the input values from the database using the id
# and render the template
好的,我找不到任何符合我的问题或用例的描述。
我开发了一个 flask 网络应用程序,用户可以在第一个模板中输入一些表单数据来进行数据库查询。基于查询结果,呈现具有输出的第二个模板,这将以可读的方式呈现结果。
我的问题是,我想为 documentation/report 提供一个 link,有人只需打开 link 就可以查看显示的相同报告。
或者将生成的 html 另存为 pdf 格式保存在 google 驱动器上。
有什么解决这个问题的建议吗?
当您看到示例代码时,我想打开 out.html,因为它是稍后使用特定用户输入呈现的。
我没有找到任何生成那个 link 的方法,如果可能的话?
from flask import Flask
app = Flask(__name__)
@app.route('/start')
def start():
return render_template("start.html")
@app.route('/out')
def out():
input = request.form
return render_template("out.html", input=input["Test"])
Start.html
<!doctype html>
<html>
<body>
<h1>Start</h1>
<form action = "/out" method = "POST">
<p>Test<input type = "text" name = "Test" required/></p>
<p><input type = "submit" value = "SUBMIT" /></p>
</form>
</body>
</html>
'''
'''out.html
<!doctype html>
<html>
<body>
<h1>Out</h1>
<p>{{input}}</p>
</body>
</html>
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def index():
return """<form action="/result" method="GET">
<input type="text" name="test"><input type="submit"></form>"""
@app.route("/result")
def result():
return request.args.get("test")
if __name__ == "__main__":
app.run()
您可以从地址栏复制 link,结果相同。
编辑:
我无法理解你的问题。
所以我猜你的 {{input}}
没有得到价值。
如果是这样,
您需要在后端执行此操作:
......
input = request.args.get("test")
return render_template("out.html", input=input)
......
编辑 2
或者您可以使用 sql 数据库存储输入值,每个新输入值都有 16 位唯一 ID。
....
@app.route("/<unique>")
def result(unique):
#retrieve the input values from the database using the id
# and render the template