📜  导入用户模型 - Python (1)

📅  最后修改于: 2023-12-03 15:39:11.075000             🧑  作者: Mango

导入用户模型 - Python

在使用 Python 时,我们通常需要使用到用户模型。用户模型是一个管理和维护我们应用程序的用户数据的类。在 Django、Flask 等框架中,用户模型被广泛使用。

Django 用户模型

Django 中的用户模型是 User,它具有很多内置的属性和方法。我们可以通过以下代码导入:

from django.contrib.auth.models import User

我们还可以通过以下代码创建一个新用户:

new_user = User.objects.create(username='john', email='john@example.com', password='password')
Flask 用户模型

与 Django 不同,Flask 框架没有内置的用户模型,我们需要手动创建。我们可以通过以下代码创建一个用户模型:

from flask_login import UserMixin
from werkzeug.security import generate_password_hash, check_password_hash

class User(UserMixin, db.Model):
    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True, index=True)
    password_hash = db.Column(db.String(128))

    @property
    def password(self):
        raise AttributeError('password is not a readable attribute')

    @password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)

    def verify_password(self, password):
        return check_password_hash(self.password_hash, password)

以上代码创建了一个 User 类,并继承了 UserMixin 类,UserMixin 类包含了 Flask-Login 所需的一些属性和方法。此外,我们还通过 werkzeug.security 包中的 generate_password_hashcheck_password_hash 方法对用户的密码进行加密和验证。

总结

无论使用 Django 还是 Flask,导入用户模型都是非常简单的,我们只需要了解创建一个用户模型所需要的必要属性和方法,并根据自己的需求进行修改即可。