Flask - MySQL 蓝图风格小项目搭建

Flask 蓝图风格-MySQL项目

环境搭建

Pycharm 创建虚拟项目

Mysql 数据库文件准备

emp 数据库脚本

安装依赖

shell 复制代码
pip install flask,pymysql,flask_sqlalchemy

新建文件目录结构如下

添加文件

config.py

python 复制代码
class BaseConfig(object):

    # 数据库的配置
    DIALCT = "mysql"
    DRITVER = "pymysql"
    HOST = '127.0.0.1'
    PORT = "3306"
    USERNAME = "root"
    PASSWORD = "root"
    DBNAME = 'emp'

    SQLALCHEMY_DATABASE_URI = f"{DIALCT}+{DRITVER}://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DBNAME}?charset=utf8"
    SQLALCHEMY_TRACK_MODIFICATIONS = True

extensions.py

复制代码
from flask_sqlalchemy import SQLAlchemy
# 使用当前文件的原因, db实例它只会创建一次(创建和使用分离)
db = SQLAlchemy()

新建模型类和对应路由

emp目录下 的 model.py

python 复制代码
# coding: utf-8
from extensions import db

class Emp(db.Model):
    __tablename__ = 'emp'
    empno = db.Column(db.Integer,primary_key=True,comment="员工编号")
    ename = db.Column(db.String(60),default=None,nullable=False,comment='员工姓名')
    job = db.Column(db.String(60),default=None,nullable=True,comment='工作')
    mgr = db.Column(db.Integer,default=None,nullable=True,comment='上司编号')
    hiredate = db.Column(db.DateTime,default=None,nullable=False,comment='入职时间')
    sal = db.Column(db.Integer,default=None,nullable=False,comment='工资')
    comm = db.Column(db.Integer,default=None,nullable=True,comment='奖金')
    deptno = db.Column(db.Integer,default=None,nullable=False,comment='部门编号')

emp 目录下的 routes.py

python 复制代码
from flask import Flask,Blueprint
from emp.model import Emp

emp_bp = Blueprint('emp',__name__)


@emp_bp.route('/get_emps')
def get_emps():
    emps = Emp.query.all()  # 获取所有用户
    return '<br>'.join([f'{emp.empno}--{emp.ename} --{emp.job}--{emp.hiredate}' for emp in emps])

在app中注册路由蓝图

app.py

复制代码
from flask import Flask
from config import BaseConfig
# 引入定义好的蓝图
from emp.routes import emp_bp
from extensions import db

app = Flask(__name__)

#添加配置文件
app.config.from_object(BaseConfig)
db.init_app(app)

# 注册蓝图
app.register_blueprint(
    emp_bp,
    url_prefix='/emp'
)

if __name__ == '__main__':
    app.run(debug=True)

启动项目测试

python 复制代码
localhost:5000/emp/get_emps
相关推荐
2401_874732536 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
FreakStudio6 小时前
0 元学嵌入式 GUI!保姆级 LVGL+MicroPython 教程开更,从理论到实战全搞定
python·单片机·嵌入式·面向对象·电子diy
stuartevil6 小时前
【MySQL】SQL菜鸟教程(一)
sql·mysql·oracle
流星白龙7 小时前
【MySQL】7.MySQL基本查询(2)
android·mysql·adb
mldlds7 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
剑穗挂着新流苏3128 小时前
117_PyTorch 实战:利用训练好的模型进行单张图片验证
人工智能·python·深度学习
Lethehong9 小时前
Python Selenium全栈指南:从自动化入门到企业级实战
python·selenium·测试工具·自动化
智算菩萨9 小时前
MP3音频编码原理深度解析与Python全参数调优实战:从心理声学模型到LAME编码器精细控制
android·python·音视频
qq_4523962310 小时前
【模型手术室】第四篇:全流程实战 —— 使用 LLaMA-Factory 开启你的第一个微调任务
人工智能·python·ai·llama
无心水10 小时前
Java时间处理封神篇:java.time全解析
java·开发语言·python·架构·localdate·java.time·java时间处理