欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

基于 flask_login 的 Flask 实现登录、验证码 - 数据库模型

最编程 2024-04-19 07:15:09
...

在你的 Flask 应用中,你需要配置 flask_login,并定义一个用户类。这个用户类通常继承自 UserMixin,它提供了默认的用户属性和方法。

models.py

# coding: utf-8
from flask_login import UserMixin
from sqlalchemy import Column, DateTime, String, text
from sqlalchemy.dialects.mysql import INTEGER
from werkzeug.security import generate_password_hash, check_password_hash
from flask_sqlalchemy import SQLAlchemy


db = SQLAlchemy(engine_options={'pool_pre_ping': True})


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

    id = Column(INTEGER(11), primary_key=True)
    username = Column(String(50, 'utf8_unicode_ci'))
    password = Column(String(1024, 'utf8_unicode_ci'))
    create_at = Column(DateTime, server_default=text("CURRENT_TIMESTAMP"))

    def set_password(self, password):
        self.password = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password, password)