如何在Flask中检索登录的用户ID?

时间:2018-11-10 21:34:32

标签: python api authentication flask blueprint

我正在尝试制作具有登录功能的Web应用程序。成功登录后,用户应使用SQL命令将其请求添加到数据库中:

db.execute(
            'INSERT INTO dailyLeave (dLeaveDateStart, dLeaveDateEnd, dComment, pId) '
            'VALUES (?, ?, ?, ?, ?, ?)',
            (dLeaveDateStart, dLeaveDateEnd, dComment, pId)

但是我需要一个用户id才能将其作为pId放入数据库中。如何获得登录用户id

它们位于单独的蓝图(API)中。

2 个答案:

答案 0 :(得分:1)

用户登录时将ID保存在会话中。然后您可以从会话中检索它。

首先,您需要像下面这样确保在Flask实例的开始处设置了秘密密钥:

app = Flask(__name__)
app.secret_key = 'any random string’
...

用户登录时:

  

session ['id'] = id

要检索id时,请使用python字典之类的会话:

  

pId =会话['id']

用户注销时:

  

session.pop('id')

答案 1 :(得分:1)

我已经在我的 init .py中找到了

def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
    SECRET_KEY='dev', DATABASE=os.path.join(app.instance_path, 'abanDB.sqlite'),
)

还不够吗?