在Flask中,可以通过使用POST方法提交表单数据,并在同一页上打印HTML表单的详细信息。下面是一个完整的示例代码:
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def form():
if request.method == 'POST':
# 获取表单数据
name = request.form.get('name')
email = request.form.get('email')
message = request.form.get('message')
# 打印表单详细信息
print('Name:', name)
print('Email:', email)
print('Message:', message)
return render_template('form.html')
if __name__ == '__main__':
app.run()
在上述代码中,我们定义了一个根路由'/'
,并指定了允许的请求方法为GET和POST。当用户访问该路由时,如果是POST请求,我们通过request.form.get()
方法获取表单数据,并打印出来。无论是GET请求还是POST请求,都会渲染名为form.html
的模板文件。
接下来,我们需要创建一个名为form.html
的模板文件,用于显示表单和接收用户输入。下面是一个简单的示例:
<!DOCTYPE html>
<html>
<head>
<title>Flask Form</title>
</head>
<body>
<h1>Flask Form</h1>
<form method="POST" action="/">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required><br><br>
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
在上述模板文件中,我们使用HTML的<form>
标签创建了一个表单,并指定了提交方法为POST,提交地址为根路由'/'
。表单中包含了三个输入字段:姓名(name)、电子邮件(email)和消息(message),并且都设置为必填项。最后,我们使用<input type="submit">
标签创建了一个提交按钮。
当用户填写完表单并点击提交按钮时,表单数据将被提交到根路由'/'
,触发form()
函数。在该函数中,我们通过request.form.get()
方法获取表单数据,并打印出来。然后,函数返回模板文件form.html
,用户将在同一页上看到表单和提交的详细信息。
这是一个基本的示例,你可以根据实际需求进行修改和扩展。关于Flask的更多信息和使用方法,你可以参考腾讯云的Flask产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云