什么是蓝图

蓝图:用于实现单个应用的视图、模板、静态文件的集合。蓝图就是模块化处理的类。

为什么要用蓝图

随着业务代码的增加,把所有的代码都写进一个程序文件中是非常不合适的,这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦 因此我们需要让代码模块化。根据具体不同功能模块的实现,划分成不同的分类,降低各功能模块之间的耦合度。python中的模块制作和导入就是基于实现功能模块的封装的需求。 然而python中的模块化虽然能把代码给拆分开,但不能解决路由映射的问题

1. 蓝图作用

1,将不同的功能模块化

2,构建大型应用

3,优化项目结构

4,增强可读性,易于维护

2. 如何用蓝图实现模块化的应用

2.1. 定义蓝图

根据路径创建对应文件init.py

app/admin/__init__.py:
    from flask import Blueprint
    admin = Blueprint("admin",__name__)
    import app.admin.views

app/api/__init__.py:
    from flask import Blueprint
    api = Blueprint("api",__name__)
    import app.api.views

2.2. 注册蓝图

app/_init_.py:
    from flask import Flask

    app = Flask(__name__)
    app.debug = True

    from app.api import api as api_blueprint
    from app.admin import admin as admin_blueprint
    # 127.0.0.1:8080/
    # 127.0.0.1:8080/api/
    app.register_blueprint(admin_blueprint)
    app.register_blueprint(api_blueprint,url_prefix="/api")

2.3. 调用蓝图

app/api/views.py:
   from . import api

    @api.route('/')
    def index():
        return 'api首页'

app/admin/views.py:
from . import admin

@admin.route('/')
def index():
    return '后台首页'

2.4. 入口文件

app同级目录下创建manage.py (注意 与app目录同级,不是与admin api同级!)

from app import app

if __name__ == '__main__':

    app.run(debug=True)
Copyright © shxdledu.cn 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-04-10 23:29:54

results matching ""

    No results matching ""