首页 > 解决方案 > Flask Session Cookie 不保存?

问题描述

所以我拥有的是一个非常基本的 Flask 应用程序,其中包含一些用户帐户登录设置。我想要做的是在发布到“/登录”之后,我想重定向回主页,如果我的会话 cookie 显示我已登录,它会显示一个不同的页面。但是,每次我重定向回“/home”时,它都会让我回到登录模板。知道如何解决这个问题吗?我应该提到这不是使用 Flask-Login,我使用 PyMongo db 作为用户数据库进行了设置。

@route.app('/home')
  if 'username' in session:
    render_template('home.html')
  else:
    render_template('login.html')

@route.app('/login', methods=['POST'])
  users = mongo.db.users
  login = users.find_one({'name' : request.form['username']})
  if login:
    if bcrypt.checkpw(request.form['password'], login['password']):
      session['username'] = request.form['username']
      redirect(url_for('home'))
  else:
    return "<h1>booo</h1>"

标签: flask

解决方案


好吧,作为一个更新,我不太确定为什么if 'username' in session: 不起作用,尤其是因为它在同一文件的其他地方用于另一条路线,但将其切换为 if not session.get('username') is None:最终起作用。


推荐阅读