使用flask实现修改个人信息功能
时间: 2023-12-22 07:05:06 浏览: 60
好的,下面是一个简单的使用 Flask 实现修改个人信息功能的代码示例。
首先,需要在 Flask 中创建一个路由,用于接收用户提交的修改请求。该路由需要处理以下步骤:
1. 显示用户当前的个人信息
2. 接收用户提交的修改信息
3. 验证用户输入的信息是否合法
4. 如果信息合法,则将修改保存到数据库中
5. 显示修改后的个人信息
下面是代码示例:
``` python
from flask import Flask, render_template, request, redirect, url_for
import sqlite3
app = Flask(__name__)
# 数据库连接
conn = sqlite3.connect('user.db')
cursor = conn.cursor()
# 用户信息表
cursor.execute("""
CREATE TABLE IF NOT EXISTS user_info (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL,
gender TEXT NOT NULL,
email TEXT NOT NULL
)
""")
conn.commit()
# 显示用户信息
@app.route('/', methods=['GET'])
def show_user_info():
cursor.execute("SELECT * FROM user_info")
user_info = cursor.fetchone()
return render_template('index.html', user_info=user_info)
# 修改用户信息
@app.route('/edit', methods=['POST'])
def edit_user_info():
name = request.form['name']
age = request.form['age']
gender = request.form['gender']
email = request.form['email']
# 验证用户输入的信息是否合法
if not name or not age or not gender or not email:
return '请正确填写个人信息'
# 保存用户修改
cursor.execute("""
UPDATE user_info SET
name = ?,
age = ?,
gender = ?,
email = ?
""", (name, age, gender, email))
conn.commit()
return redirect(url_for('show_user_info'))
if __name__ == '__main__':
app.run(debug=True)
```
上述代码中,我们首先创建了一个名为 `user_info` 的表,用于存储用户的姓名、年龄、性别和电子邮件地址。然后,在 Flask 中创建了两个路由:`/` 和 `/edit`。
`/` 路由用于显示用户的个人信息,该路由会从数据库中查询用户信息并将其展示在页面上。`/edit` 路由用于接收用户提交的修改请求,该路由会验证用户输入的信息是否合法,如果合法,则将修改保存到数据库中,并重定向到 `/` 路由,显示修改后的个人信息。
需要注意的是,这里的代码示例只是一个简单的实现,实际应用中还需要对数据进行校验、防止 SQL 注入等安全措施。