编辑cms.models.py

from exts import db
from datetime import datetime

class CMSUser(db.Model):
    __tablename__ = 'cms_user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(50), nullable=False, unique=True) #unique表示必须是唯一的
    join_time = db.Column(db.DateTime, default=datetime.now )

把cms.models导入到manage.py中, 编辑manage.py

from apps.cms import models as cms_models

生成迁移脚本并映射到数据库中

(flask-env) D:\bbs>python manage.py db migrate
...

(flask-env) D:\bbs>python manage.py db upgrade
...

26、Flask实战第26天:cms用户模型定义

给cms添加个管理用户

编辑manage.py,配置创建用户的脚本

...

CMSUser = cms_models.CMSUser

@manager.option('-u','--username',dest='username')
@manager.option('-p','--password',dest='password')
@manager.option('-e','--email',dest='email')
def create_cms_user(username, password, email):
    user = CMSUser(username=username, password=password, email=email)
    db.session.add(user)
    db.session.commit()
    print('用户创建成功')


...

创建用户

(bbs) D:\bbs>python manage.py create_cms_user -u admin -p 123456 -e admin@bbs.com
用户创建成功   

26、Flask实战第26天:cms用户模型定义

 用户创建成功了,但是我们的密码却是明文的,这是非常危险的!

明文密码是万万不可以的,因此我们需要改造下models

26、Flask实战第26天:cms用户模型定义

更新模型到数据库

python manage.py db migrate
python manage.py db upgrade

再创建一个用户

(bbs) D:\bbs>python manage.py create_cms_user -u admin -p 123456 -e admin@heboan.com
用户创建成功     

26、Flask实战第26天:cms用户模型定义

 

相关文章:

  • 2021-10-21
  • 2022-12-23
  • 2021-08-08
  • 2021-11-20
  • 2021-12-03
  • 2022-02-12
  • 2021-10-24
  • 2021-11-26
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2021-08-31
  • 2022-12-23
  • 2021-12-16
  • 2021-09-02
  • 2021-11-07
相关资源
相似解决方案