flask - Flask 会话数据在 localhost 测试中有效,但在主服务器中无效
问题描述
我有一个用于烧瓶网站的小型登录表单,它<form>
使用 post 方法从 html 中的标签接收登录信息并验证用户,然后 user_id 将存储在会话中以检查@app.before_request
会话是否包含 user_id。在 locallost 中进行测试时代码运行良好,并且通过 1 次登录我可以看到不同的页面。但是在主服务器上,在我登录后,它会导航到第一页,通过刷新或导航到其他页面会话将删除并再次进入登录页面。
请你帮我看看是什么原因以及解决方法是什么?
登录页面发布方式:
session['user_id'] = user[0][0]
session['user_name'] = user[0][1]
session.modified = True
return redirect('Dashboard')
其他页面检查方法:
if 'user_id' in session:
return render_template('Report1.html')
return redirect('Login')
@app.before_request
def before_request():
session.permanent = True
g.user_id = None
g.user_name = "You are not logged in"
if 'user_id' in session:
g.user_id = session['user_id']
g.user_name = session['user_name']
解决方案
对于我使用的应用程序secret_key os.urandom(...)
,但我将其更改为固定字符串并解决了!