第一个要实现的功能是登录退出功能,任何一个大的系统都是有小模块组成的,我们可以通过思维导图整理出模块的功能列表,我们根据思维导图慢慢实现,就可以做出一个由简单到复杂的系统。
后台管理员模块
0:新建数据库
数据库名:food_db
CREATE DATABASE `food_db` DEFAULT CHARACTER SET = `utf8mb4`;
show databases;
use food_db
1:新建管理员数据表
CREATE TABLE `user` (
`uid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户uid',
`nickname` varchar(100) NOT NULL DEFAULT '' COMMENT '用户名',
`mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号码',
`email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱地址',
`sex` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1:男 2:女 0:没填写',
`avatar` varchar(64) NOT NULL DEFAULT '' COMMENT '头像',
`login_name` varchar(20) NOT NULL DEFAULT '' COMMENT '登录用户名',
`login_pwd` varchar(32) NOT NULL DEFAULT '' COMMENT '登录密码',
`login_salt` varchar(32) NOT NULL DEFAULT '' COMMENT '登录密码的随机加密秘钥',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1:有效 0:无效',
`updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新时间',
`created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
PRIMARY KEY (`uid`),
UNIQUE KEY `login_name` (`login_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表(管理员)';
show tables;
show create table user;
10:00
2:使用 flask-sqlacodegen 扩展 方便快速生成 ORM model文件
2.1 安装扩展
pip install flask-sqlacodegen
2.2 使用方法
flask-sqlacodegen "mysql://root:123456@127.0.0.1/food_db" --tables user --outfile "order/common/models/User.py" --flask
3: 修改自动生成的model中的db变量
# coding: utf-8
from application import db
class User(db.Model):
__tablename__ = 'user'
uid = db.Column(db.BigInteger, primary_key=True, info='??uid')
nickname = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue(), info='???')
mobile = db.Column(db.String(20), nullable=False, server_default=db.FetchedValue(), info='????')
email = db.Column(db.String(100), nullable=False, server_default=db.FetchedValue(), info='????')
sex = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue(), info='1?? 2?? 0????')
avatar = db.Column(db.String(64), nullable=False, server_default=db.FetchedValue(), info='??')
login_name = db.Column(db.String(20), nullable=False, unique=True, server_default=db.FetchedValue(), info='?????')
login_pwd = db.Column(db.String(32), nullable=False, server_default=db.FetchedValue(), info='????')
login_salt = db.Column(db.String(32), nullable=False, server_default=db.FetchedValue(), info='???????????')
status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue(), info='1??? 0???')
updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue(), info='????????')
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue(), info='????')
4:修改配置文件
SQLALCHEMY_DATABASE_URI = 'mysql://root:对应root的密码@127.0.0.1/food_db'
5:开始写代码了
运行: