基于flask+mysql的学生管理系统简单开发(1)-登录

今天来讲一下基于flask的学生管理系统简单开发系列之登录

首先我们在pycharm新建一个叫website的项目 你可以让编译器自动帮你建一个虚拟环境venv 使用的前端模板为jinja2

笔者用的Python版本为3.6.0 如果flask没有装 建议用pip install flask

公司的网络下不了flask 可以使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask 建议不使用的豆瓣的资源 也会被禁用掉

好了接下来等ide创建完以后 我们先来做一下项目整体的设计

  1. app文件夹 model.py和views.py
  2. model放数据库字段和数据库表的设计
  3. views放url的路径和各个接口的设计
  4. 图片文件、js、css放在static文件夹下
  5. html文件放在templates文件夹下
  6. 再加个utils文件夹 把我们项目的一些配置、工具类放在下面
  7. 最后manage.py文件作为整个项目的启动文件

在这里插入图片描述

第一步 我们先来设计数据库的表和字段

flask有SQLALchemy这个类来帮我们实现数据库的设计 我们把这个类赋值给变量db

db = SQLAlchemy()

有了这个db 登录么 总归要创建User这个类咯

class User(db.Model):

db这个后面也会派到用处 我们总得为这个User起一个表名user

__tablename__ = "user"

这时候 user表就好了 那么有了表 第一个想到是id

user_id = db.Column(db.Integer, primary_key=True, autoincrement=True)

很明显 这个id用作主键 然后是自增长的

当然用户名和密码这两个字段是必要的

username = db.Column(db.String(50))
password = db.Column(db.String(200))

我还加一个添加时间 还有一个外键role_id用来关联role表 今天这篇文章展示不介绍怎么用

create_time = db.Column(db.DateTime, default=datetime.now)
role_id = db.Column(db.Integer, db.ForeignKey('role.role_id'))

username和password做一下初始化 views.py中接口的设计会用到

def __init__(self, username, password):
    self.username = username
    self.password = password

当然说到数据库 我们肯定有增删改查的操作 封装一下保存的操作

def save(self):
    db.session.add(self)
    db.session.commit()

再封装一下删除的操作

def delete(self):
    db.session.delete(self)
    db.session.commit()

至此 model的设计完成😀

第二步 既然我表的设计好了 那我数据库啥都没有耶 这时候我要创造出来吧

db.create_all()

单单就只有这个方法也做不了 那我可以写在接口里面行不 然后再浏览器里面调用 返回成功 就可以知道是否创建成功呗

@app.route('/create_db/')
def create_db():
    db.create_all()
    return "创建成功"

也可以删除数据库

@app.route('/drop_db/')
def drop_db():
    db.drop_all()
    return "删除成功"

这时候问题来了 怎么执行

  • 10
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值