• Flask框架创建项目初期总结


    创建项目虚拟环境及安装相关依赖

    创建项目在项目内打开设置
    第一步
    在这里插入图片描述
    第二步
    在这里插入图片描述
    打开项目终端查看虚拟环境是否成功
    如果没有成功则需要手动开启
    在这里插入图片描述
    虚拟环境配置好后要安装相关依赖
    讲有含有依赖名称的文件放到项目内
    然后打开项目终端进行安装
    安装好之后可以输入 pip list查看一下是否全部安装
    在这里插入图片描述

    创建flask结构

    利用工程模式创建app
    在根目录创建create_app.py文件
    在里面进行编写

    from flask import Flask  #导入Flask
    from flask_cors import CORS  #跨域
    def create_app(config):
        flask_app=Flask(__name__)   #实例化flask对象
        #加载配置项
    
        #注册蓝图
    
        #绑定db
    
        # 跨域
        CORS(flask_app)
    
        return flask_app
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    项目内创建settings目录里创建config.py文件
    在里边编写序偶需要的配置项

    class DefaultConfig:
        SECRET_KEY='asdasfjsfagfasfa'   #cookie秘钥
        SQLALCHEMY_DATABASE_URI=''   #数据库配置项
        SQLALCHEMY_TRACK_MODIFICATIONS=False # 追踪数据的修改信号
        SQLALCHEMY_ECHO=True  # 是否在控制台打印输出sql语句
        JSON_AS_ASCII=False    #json类型是否转换
    
    #继承自上边的类,避免以后的修改
    class DevConfig(DefaultConfig):
        # 数据库类型+数据库操作引擎://用户名:密码@主机名:端口/数据库名
        SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mysql密码@127.0.0.1:3306/数据库名'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    项目根目录创建app.py文件 在里边导入配置项 app实例create_app

    from create_app import create_app  #导入创建好的create_app
    from settings.config import DevConfig  #导入配置项
    
    app=create_app(DevConfig)
    
    #通过功能函数方式创建了对象
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以在里面编写main 运行框架
    也可以在调试配置对话框里配置运行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    配置好之后下次就可地点击旁边的开始就可以运行
    在这里插入图片描述

    在里面配置蓝图

    在项目内创建views目录里创建users.py文件
    在里面进行编写

    from flask import Blueprint  #导入蓝图
    from flask_restful import Api,Resource
    # # url_prefix  # 指定当前蓝图下所有路由的前缀
    user_dp=Blueprint('user_dp',__name__,url_prefix='/users') #实例化蓝图对象
    
    api=Api(user_dp)  #实例化蓝图收集器#实例化一个Api对象 Api对象的作用是用来搜集路由的
    
    #定义类视图 继承自Resource类,通过Api的实例化对象进行搜集
    class UserView(Resource):
        def get(self):       #测试是否成功
            return 'ssss'
    #添加路由
    api.add_resource(UserView,'/user') #完整地址是 /users/user
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    然后在create_app.py里注册一下

    from flask import Flask  #导入Flask
    from views.users import user_dp  #导入实例化的蓝图对象
    from flask_cors import CORS
    def create_app(config):
        flask_app=Flask(__name__)   #实例化flask对象
        #加载配置项
        flask_app.config.from_object(config)
    
        #注册蓝图
        flask_app.register_blueprint(user_dp)
    
        #绑定db
    
        # 跨域
        CORS(flask_app)
    
        return flask_app
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    注册数据库配置

    在目录创建models目录里创建model.py文件进行编写模型类

    from flask_sqlalchemy import SQLAlchemy  #导入
    
    db=SQLAlchemy()  #实例化数据库连接对象
    
    #创建模型类
    class UserModel(db.Model):
        # primary_key主键   autoincrement自增  default默认
        id=db.Column(db.Integer,primary_key=True,autoincrement=True,comment='ID')
        name=db.Column(db.String(32),default='',comment='名字')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    然后在create_app.py里注册一下

    from flask import Flask  #导入Flask
    from views.users import user_dp  #导入实例化的蓝图对象
    from models.model import db   #导入实例化的数据库连接对象
    from flask_cors import CORS
    def create_app(config):
        flask_app=Flask(__name__)   #实例化flask对象
        #加载配置项
        flask_app.config.from_object(config)
    
        #注册蓝图
        flask_app.register_blueprint(user_dp)
    
        #绑定db
        db.init_app(flask_app)
    
        # 跨域
        CORS(flask_app)
    
        return flask_app
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在根目录创建manage.py文件配置迁移项

    from flask_script import Manager #Manager类作业是把命令行运行该文件的时候,添加一些命令
    from app import app   #导入app
    from flask_migrate import MigrateCommand,Migrate    # 导入迁移类和迁移命令类
    from models.model import db    #导入实例化后的数据库对象
    
    manage=Manager(app)  #实例化命令行管理对象
    migrate=Migrate(app,db)  #实例化迁移执行类
    manage.add_command('db',MigrateCommand)  #给命令行管理对象添加一组命令
    
    
    # 注意编写好了要启动一下
    if __name__ == '__main__':
        manage.run()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在python终端运行命令进行迁移

    #  初始化迁移文件  # 初始化,只需要初始化一次
    python manage.py db init
    
    # 生成迁移文件
    python manage.py db migrate
    
    # 执行迁移
    python manage.py db upgrade
    
    # 迁移完成
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    企业微信hook接口协议,ipad协议http,设置消息回调地址
    ArcGIS中添加在线地图(影像图、街道图等)
    【Spring Authorization Server 系列】(二)令牌的配置(有效期 & 格式)
    ES6初步了解生成器
    MongoDB文档存储
    [答疑]微信餐馆案例中,“启动二维码对应的程序”这个用例合理吗
    智慧路灯物联网解决方案
    Android 中的 本地广播LocalBroadcastManager
    【数据结构与算法】03 队列(顺序队列--循环队列--优先级队列--链队列)
    Linux:进程的本质和fork初识
  • 原文地址:https://blog.csdn.net/qishaoawei/article/details/125901337