那我怎么改?将g.userInfo的值保留下来
时间: 2024-03-18 21:40:44 浏览: 58
TypeScript开发Node.js程序的方法
如果你想在多个请求之间共享数据,可以使用 Flask 的 session 或者将数据存储到数据库中。
如果你只是想在一个请求的处理过程中共享数据,可以使用 Flask 的 request 上下文,在请求处理函数中将需要共享的数据存储到 request 对象中,然后在其他处理函数中获取该数据即可。
例如,在 index 函数中,你可以将 g.userInfo 存储到 request 对象中:
```
@app.route('/face', methods=['POST'])
def index():
# 将 g.userInfo 存储到 request 对象中
request.userInfo = {'username': '11', 'password': '18', 'name': None, 'ID': None, 'picture': None}
print(request.userInfo)
return jsonify({'status': 'success', 'message': 'hello'}), 200
```
然后,在 perfectInfo 函数中,你可以从 request 对象中获取 g.userInfo 的值:
```
@app.route('/information', methods=['POST'])
def perfectInfo():
# 从前端获取用户名和密码
userInfo = request.userInfo
print(userInfo)
name = request.form['name']
ID = request.form['ID']
picture = None
users_data = UserRead()
users = users_data['users']
# 往对应的用户添加信息
for user in users:
if user['username'] == userInfo['username']:
UserJson(userInfo['username'], userInfo['password'], name, ID, picture, operation='update')
# 完善该用户的名字、ID、图片
user['name'] = name
user['ID'] = ID
user['picture'] = picture
# 返回成功信息
return jsonify({'status': 'success', 'message': 'perfect userInfo successfully'}), 200
```
这样,你就可以在多个请求处理函数中共享 g.userInfo 变量的值了。注意,由于 request 对象的生命周期也仅限于当前请求的处理过程中,所以在其他请求处理函数中获取 request.userInfo 变量的值是无法获取到的。
阅读全文