我有我的python代码,我使用的是html文件。请参阅以下代码:
@app.route('/',endpoint='buf')
def index():
page = """
<DOCTYPE! html>
<html lang="en-US">
<head>
<title>Hello World Page</title>
<meta charset=utf-8">
</head>
<body>
<form action="/hello" method="GET">
First: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
"""
return page
@app.route('/hello',endpoint="new",methods=['GET'])
def login():
return 'hello %s ' % (request.form['fname'])
这给了我一个html页面,它有一个包含两个字段和一个提交按钮的表单。我使用虚拟环境来运行它。
现在我想在程序中获取字段的名字和姓氏,这样当用户点击提交时我想显示Hello“名字”“姓氏”
目的: - 学习如何在python文件中提供代码时获取html元素值。
答案 0 :(得分:2)
要使其发挥作用的几件事:
将POST
和GET
添加到app.route
支持的方法中:
@app.route('/', methods=['POST', 'GET'])
在视图中,处理GET
(当用户打开网页时)和POST
(当用户提交表单时)
将html代码提取到html模板文件中并在视图中呈现它(docs on rendering templates)
以下是带有更改的代码:
from flask import render_template
...
@app.route('/', methods=['POST', 'GET'])
def index():
if request.method == 'POST':
# use request.form['fname'] and request.form['lname']
# to access form input values
else:
return render_template('index.html')
希望有所帮助。