簡體   English   中英

如何使用flask_login庫上的current_user函數使用兩種用戶?

[英]how to use two kinds of users with the current_user function on the flask_login library?

我嘗試構建一個使用兩種用戶的燒瓶應用程序,我想在兩個類之間使用 current_user 分開。 我需要讓 load_user 返回普通用戶或交付用戶。

這是加載用戶功能:

@login.user_loader
def load_user(id):
    return User.query.get(int(id))

這是用戶類:

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    about_me = db.Column(db.String(140))
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)

class Delivery(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    about_me = db.Column(db.String(140))
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)

只需使用一個用戶模型並鍵入字段或組模型。 例子:

class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    about_me = db.Column(db.String(140))
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)
    group = db.Column(db.ForeignKey('group.id'), nullable=False)

class Group(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    users = db.relationship('User', backref='user', lazy=True)
    description = db.Column(db.String(50))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM