在使用Flask时,如何在HTML中使用和调用python函数?
我是Flask的新手,尽管我已经阅读了文档,但我仍然对Python函数和HTML之间的关系感到非常困惑。具体来说,我不确定如何在HTML页面中调用函数。例如,我的route.py文件中有以下代码:在使用Flask时,如何在HTML中使用和调用python函数?,python,html,flask,Python,Html,Flask,我是Flask的新手,尽管我已经阅读了文档,但我仍然对Python函数和HTML之间的关系感到非常困惑。具体来说,我不确定如何在HTML页面中调用函数。例如,我的route.py文件中有以下代码: from flask import Flask, render_template import requests app = Flask(__name__) @app.route('/placement_debugger') def placementDebugger(): return
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>
放置ID:
如何在“placement_debugger.html”页面中调用我的“get_data()”函数?您可以使用
request
从html输入中获取数据
首先从烧瓶中导入
from flask import request
默认情况下,Flask只允许GET
请求。您需要允许POST
方法进入您的路线
@app.route('/placement_debugger', methods=['GET', 'POST')
下面是如何从HMTL表单获取数据。(这将包含在get_data()函数中)
你不能直接这么做。您可以从网页的Javascript对get_data()函数进行REST调用,并获取返回数据。Python代码在web服务器上运行,HTML在客户机上运行——它们只能通过HTTP进行通信——一种无状态协议。请注意,
render\u template()
接受其他关键字参数作为上下文。这是将数据(而不是函数)传递到模板的方法。您可以使用Jinja2来实现这一点。但我不建议在你的情况下使用这个解决方案。正如克劳斯所说,通过render\u template()
更好地传递变量。
if request.form:
placement_id = request.form.get('Placement ID')