微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flask 会话数据在 localhost 测试中有效,但在主服务器中无效

如何解决Flask 会话数据在 localhost 测试中有效,但在主服务器中无效

我有一个烧瓶网站的小登录表单,它使用 post 方法从 html 中的 <form> 标签接收登录信息并验证用户,然后 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(...),但我将其更改为固定字符串并解决了它!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。