亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 pymongo 和 Flask-Login 的會話?

如何使用 pymongo 和 Flask-Login 的會話?

鴻蒙傳說 2023-06-13 16:48:07
我正在使用 Flask 和 MongoDB 開發基于 Web 的應用程序。對于數據庫連接和操作,我使用的是 pymongo。到目前為止,我成功地進行了用戶注冊和用戶登錄,但是當我使用@login_required 裝飾器并添加@login_manager.user_loader 時,我的登錄已停止工作并且沒有出現任何錯誤。在調試它時,我發現問題是會話 ID。我正在獲取會話 ID@login_manager.user_loaderdef load_user(user_id):    print("user_id",user_id)    user =User.get_by_id(user_id)    print(user)    if user is not None:        return User(user["_id"])    else:        return None但是如何使用它或使用 pymongo 管理它,就像我嘗試使用 session id 獲取用戶數據一樣user =User.get_by_id(user_id)我沒有得到
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

由于您沒有使用 current_user 屬性,我認為這是一個很好的方法。我將在我一直在處理的應用程序之后進行解釋。


首先,我在他登錄時注冊用戶:


from flask import Blueprint

from flask_login import login_user, logout_user, login_require


login = Blueprint('Login', __name__)


@login.route('/login', methods=['GET', 'POST'])

def loginMethod():

    ... 

    db = Database() 

    user = db.selectIf(...)

    login_user(user)


@login.route('/logout')

@login_required 

def logout():

    logout_user()

    .... 

當我需要時,我使用 current_user 屬性加載用戶,如下所示:


from flask import Blueprint

from flask_login import login_required, current_user


page = Blueprint('page', __name__)


@page.route('/page', methods=['GET', 'POST'])

@login_required

def openPage():

    ... 

    user = current_user


查看完整回答
反對 回復 2023-06-13
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號