Python轻量级Web框架Flask(8)——Flask模型项目模板(拆分&数据迁移)

  • 1、项目模板概览
    Python轻量级Web框架Flask(8)——Flask模型项目模板(拆分&数据迁移)_第1张图片

项目的环境配置文件venv,可参考Python轻量级Web框架Flask(1)——简介/虚拟环境介绍/安装

Python轻量级Web框架Flask(8)——Flask模型项目模板(拆分&数据迁移)_第2张图片

  • 2、各部分代码

__init __:

# __init__.py : 初始化文件,创建Flask应用
from flask import Flask
from .views import blue
from .exts import init_exts

def creat_app():
    app = Flask(__name__)

    # 注册蓝图
    app.register_blueprint(blueprint=blue)

    # 配置数据库
    db_uri = 'sqlite:///sqlite3.db' # 因为这个模板使用的是sqlite3,所以会多一个文件夹instance
    # db_uri = 'mysql+pymysql://root:123456@localhost:3306/flaskdb' # mysql的配置
    app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 禁止对象追踪修改

    # 初始化插件(这部分写在“配置数据库”之后)
    init_exts(app=app)

    return app

exts:

from flask_sqlalchemy import SQLAlchemy # ORM
from flask_migrate import Migrate   # 数据迁移

db = SQLAlchemy()
migrate = Migrate()

def init_exts(app):
    db.init_app(app=app)
    migrate.init_app(app=app,db=db)

models:

# models.py : 模型,数据库

'''
    模型      ===      数据库
    类        ——>     表结构
    类属性     ——>    表字段
    一个对象   ——>    表的一行数据
'''


from .exts import db

# 模型Model:类
# 必须继承 db.Model User才能从普通的类变成模型
class User(db.Model):
    # 表名
    __tablename__ = 'tb_user'   # 数据迁移就是让模型变成表,ORM就是让类变成模型
    # 定义表字段
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(30), unique=True, index=True)
    age = db.Column(db.Integer, default=1)

views:

# 在views.py中放路由和视图函数

from flask import Blueprint
from .models import * #后面是用views来控制数据库的,所以要在views中导入models文件

# 蓝图
blue = Blueprint('user', __name__)

@blue.route('/')
def index():
    return 'index'

app:

from App import creat_app

app = creat_app()


if __name__ == '__main__':
    app.run(debug=True)
  • 3、这个模板可以用在Flask制作的一些项目当中,直接复制即可
  • 4、该模板后期如果有改动会更新

你可能感兴趣的:(Flask框架学习笔记,flask,python,前端)