[英]Flask, flask_login, pytest: How do I set flask_login's 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.