flask蓝图与插件

Posted markshui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask蓝图与插件相关的知识,希望对你有一定的参考价值。

一、插件与蓝图

  • flask中的配置文件

    flask中的配置文件是放在app.config,可以像操作字典一样进行操作

  • 直接编写

    直观,简单

    将常见的一些固定不变的配置写入

  • 配置文件

  • 配置类

    推荐使用

二、蓝图

Web开发的过程中,如果我们将所有的Flask的请求处理方法都放在同一个文件下,非常不利于后续的管理与迭代。我们应当做到模块化的管理,以功能模块进行划分,将各自的功能归由各自的模块进行管理,方便后续的开发维护,但是由于Flask开发灵活,但是目录结构将会很复杂。Flask为了简化这个过程,提出了蓝图(Blueprint)的概念。

蓝图很方便的将一个应用分解为一套蓝图(子应用),极大的简化大型应用并为扩展的子应用提供集中的注册入口。

三、flask-script

flask-script是第三方的提供的插件(交互式插件),可以使用这个插件完成项目的管理,添加命令

  • 安装插件

    pip install flask script

  • 使用插件

    # 导入类
    from flask_script import Manager
    
    # 管理App
    manager = Manager(app)
    
    if __name__ == ‘__main‘:
        manager.run()
    
  • 安装命令

    # 导入包
    from flask_script import Manager,Command
    
    # 管理app
    manager = Manager(app)
    
    
    # 创建类继承Command
    class MyRunserver(Command):
        def run(self):
            app.run(host="0.0.0.0",post=8899)
            
    # 注册命令
    manager.add_command("myrun",MyRunserver)
    

四、flask-migrate

flask要完成数据迁移任务,使用的命令create_all方法,creat_all有很大的局限性,flask可以使用flask-migrate插件完成数据的迁移

  • 安装

    pip install flask-migrate

  • 使用

    项目的__ init __.py文件

# 导入包
from flask_migrate import Migrate

# 创建空的对象
migrate = Migrate

# 管理数据库
migrate.init_app(app,db)
  • 安装命令

    # 导包
    from flask_migrate import MigrateCommand
    
    # 注册migrate命令
    manager.add_command("db",MigrateCommand)
    
  • 查看db相关的命令

    python main.py

    执行命令

    1、init命令,初始化,创建迁移文件目录,只需要执行一次

    python main.py db init

    2、migrate生成迁移文件,将模型中的变更生成对应的迁移文件

    python main.py db migrate

? 3、upgrade执行迁移文件,将生成的迁移文件执行,达到同步表结构的效

? python main.py db upgrade

以上是关于flask蓝图与插件的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出Flask:Flask的蓝图插件化

Flask 学习-16.项目设计与蓝图的使用

flask中的蓝图与子域名实现

Flask--蓝图

如何将 PyMongo 与 Flask 蓝图一起使用?

Flask蓝图