如何使用Jinja2 html模板在Flask服务器上调用python函数?
我最近开始学习使用Flask框架。但是,当在html模板中单击按钮时,我对如何从main.py调用函数“sign_in_check”有点困惑。在Django中,它非常简单,如如何使用Jinja2 html模板在Flask服务器上调用python函数?,python,html,flask,jinja2,Python,Html,Flask,Jinja2,我最近开始学习使用Flask框架。但是,当在html模板中单击按钮时,我对如何从main.py调用函数“sign_in_check”有点困惑。在Django中,它非常简单,如=48&&event.charCode=48&&event.charCode=48&&event.charCode=48&&event.charCode这是一个HTML问题 按钮没有动作。按钮属于窗体,窗体具有action属性 <form action="{{% url_for('sign_in_check') %}}
=48&&event.charCode=48&&event.charCode=48&&event.charCode=48&&event.charCode这是一个HTML问题
按钮没有动作。按钮属于窗体,窗体具有action属性
<form action="{{% url_for('sign_in_check') %}}" method="post">
<input type="hidden" value = "{{ csrf_token }}">
<div id="driver_info">
<li>
<label for="driver_first_name">Driver First Name:</label>
<input type="text" name="driver_first_name" value="{{driver_first_name }}" id="driver_first_name">
</li>
...
</div>
<div id="button">
<li>
<input type="submit" value="Continue">
</li>
</div>
</form>
驾驶员姓名:
...
注意,你的HTML还有很多其他错误。例如,div后面不能有body
元素;那个div属于身体。和li
元素必须位于ul
元素(或ol
)内部
此外,您的父级“base.html”模板应该提供基本的页面结构,包括html声明、head
和body
元素;您的子模板只需填充正文内的空间即可。在更多的谷歌搜索之后,我找到了它。如果有人好奇的话,我采纳了Daniel的建议,重新构建了html。然而,这并没有完全解决它。sytanx的行动是:
<form action='/sign_in_check' method="POST">
我必须确保该功能接受后或得到。此外,与django不同,flask的请求语法有点不同。这样,
driver_first_name = request.form.get('driver_first_name')
希望这能帮助其他有类似问题的人
<form action='/sign_in_check' method="POST">
@app.route('/sign_in_check', methods = ['GET', 'POST'])
def sign_in_check():
if request.method == 'POST':
driver_first_name = request.form.get('driver_first_name')