在Python的Web开发中,处理表单数据是最常见的需求之一。借助轻量级的Flask框架,我们可以非常直观地接收、解析并校验用户通过网页表单提交的信息,下面以最常见的用户名与邮箱提交为例进行说明。

前端表单页面
首先需要一个简单的HTML表单,使用POST方法将数据发送到后端接口。注意表单中的<input>标签需要使用name属性,后端才能按名称取值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>用户表单</title>
</head>
<body>
<form action="/submit" method="post">
<p>用户名:<input type="text" name="username"></p>
<p>邮箱:<input type="text" name="email"></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
后端使用Flask接收表单
在Flask中,通过request.form可以获取表单数据。下面代码展示了如何编写路由来接收并处理提交的内容。
from flask import Flask, request, render_template_string
app = Flask(__name__)
# 展示表单页
@app.route('/')
def index():
return render_template_string('''
<form action="/submit" method="post">
用户名:<input type="text" name="username"><br>
邮箱:<input type="text" name="email"><br>
<input type="submit" value="提交">
</form>
''')
# 处理表单提交
@app.route('/submit', methods=['POST'])
def submit():
# 从request.form中获取字段
username = request.form.get('username', '')
email = request.form.get('email', '')
# 简单校验
if not username or not email:
return '用户名和邮箱不能为空'
return '提交成功,用户名:' + username + ',邮箱:' + email
if __name__ == '__main__':
app.run(debug=True)
数据校验与注意事项
实际项目中,不能只做空值判断,还需要验证邮箱格式、过滤特殊字符,避免安全隐患。可以使用WTForms等库规范表单验证流程。
- 始终对用户输入做校验,不要信任前端传来的数据
- 使用
request.form.get()而不是下标访问,防止字段缺失报错 - 涉及数据库存储时注意使用参数化查询防注入
小结
在Python中处理表单数据并不复杂,核心就是利用框架提供的请求对象拿到字段值,再做业务处理和响应。掌握Flask的request.form用法,就能应对大部分基础表单场景。