安装shortuuid用于前台用户的主键:pip install shortuuid

创建模型

from datetime import datetime
import enum
from werkzeug.security import generate_password_hash, check_password_hash
import shortuuid
from exts import db class GenderEnum(enum.Enum):
""" 性别枚举 """
MALE = 1 # 男
FEMALE = 2 # 女
SECRET = 3 # 秘密
UNKNOW = 4 # 用户未填写 class FrontUser(db.Model):
__tablename__ = 'front_user'
id = db.Column(db.String(100), primary_key=True, default=shortuuid.uuid)
telephone = db.Column(db.String(11), nullable=False, unique=True)
username = db.Column(db.String(50), nullable=False)
_password = db.Column(db.String(100), nullable=False)
email = db.Column(db.String(50), unique=True)
realname = db.Column(db.String(50), comment='真实姓名')
avatar = db.Column(db.String(100), comment='头像')
signature = db.Column(db.String(100), comment='个性签名')
gender = db.Column(db.Enum(GenderEnum), default=GenderEnum.UNKNOW, comment='性别')
join_time = db.Column(db.DateTime, default=datetime.now) def __init__(self, *args, **kwargs):
if 'password' in kwargs:
self.password = kwargs.get('password')
kwargs.pop('password')
super(FrontUser, self).__init__(*args, **kwargs) @property
def password(self):
return self._password @password.setter
def password(self, raw_password):
self._password = generate_password_hash(raw_password) def check_password(self, raw_password):
result = check_password_hash(self.password, raw_password)
return result

执行数据库迁移

python manager.py db migrate
python manager.py db upgrade

插入用户命令

@manager.option('-t', '--telephone', dest='telephone')
@manager.option('-u', '--username', dest='username')
@manager.option('-p', '--password', dest='password')
def create_front_user(telephone, username, password):
""" 创建前台用户 """
user = FrontUser(telephone=telephone, username=username, password=password)
db.session.add(user)
db.session.commit()

执行命令:python manager.py create_front_user -t 11111111111 -u front_user -p 123456

最新文章

  1. 主机巡检脚本:OSWatcher.sh
  2. vm centos 网络配置
  3. apache限制同一ip大并发访问及下载
  4. Harris角点检测
  5. 2013 多校联合2 D Vases and Flowers (hdu 4614)
  6. LayoutInflater 原理分析 示例
  7. Android Training: 设备管理
  8. Python装饰器学习(九步入门)
  9. Visual Studio 自定义项目模板
  10. 后端分布式系列:分布式存储-HDFS 架构解析
  11. Mybatis 事务管理
  12. tensorflow-yolo3系列配置文章汇总
  13. log4j配置后行号乱码显示为?问号
  14. tar分层压缩
  15. csrf_token(跨站伪造)
  16. SpringBoot详细研究-05微服务与拾遗
  17. jacob将word转换为html
  18. hdoj2955 Robberies(01背包)
  19. PLSQL数据库无选项问题解决
  20. Java并发基础--Lock的学习

热门文章

  1. Python&Selenium借助html-testRunner生成自动化测试报告
  2. mysql基础_数据类型
  3. C# 集合(9) 持续更新
  4. fsLayuiPlugin单页面操作
  5. Java的值传递和引用传递的说法
  6. Modbus通讯协议
  7. Jquery开发&BootStrap 实现“todolist项目”
  8. SpringMVC拦截静态资源的解决方法
  9. 题解 BZOJ1026 & luogu P2657 [SCOI2009]windy数 数位DP
  10. 小米 oj 硬币比赛(思维+动态规划)