【发布时间】:2018-09-03 03:15:09
【问题描述】:
我是 Flask 的新手,尽管我已经阅读了文档,但我仍然对 Python 函数和 HTML 之间的关系感到非常困惑。具体来说,我不确定如何在 HTML 页面中调用函数。例如,我的 route.py 文件中有以下代码:
from flask import Flask, render_template
import requests
app = Flask(__name__)
@app.route('/placement_debugger')
def placementDebugger():
return render_template('placement_debugger.html')
def get_data():
return requests.get('http://example.com'+placementID).content
这是我的“placement_debugger.html”文件中的代码。基本上,我试图从用户那里获取一个 ID 并在 HTTP GET 请求中使用该 ID:
<p1>
<form action="/action_page.php">
<strong>Placement ID: </strong><input type="text" name="Placement ID"
value=""><br>
<input type="submit" value="Submit">
</form>
</p1>
如何在“placement_debugger.html”页面中调用我的“get_data()”函数?
【问题讨论】:
-
你不能直接这样做。您可以从您的网页从 Javascript 对 get_data() 函数进行 REST 调用并获取返回数据。 Python 代码在 Web 服务器上运行,而 HTML 在客户端机器上运行——它们只能通过 HTTP——一种无状态协议。
-
请注意
render_template()接受额外的关键字参数作为上下文。这是将数据(不是函数)传递给模板的方式。 -
你可以用 Jinja2 stackoverflow.com/questions/6036082/… 做到这一点。但我不建议在您的情况下使用此解决方案。正如克劳斯所说,更好地通过
render_template()传递变量。