蓝图与命名空间

小蓝图

构建业务功能可拆分的目录结构。

面试题:django的app和flask的蓝图有什么区别?

构建一个目录机构

首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化、大项目协同开发过程中的一个很好的工具.

1.下图是我们通常情况下使用的项目组织结构

1583980402245

run启动文件

from app import create_app#create_app在app文件夹下的__init__中


app = create_app()


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

__init__的写法

from flask import Flask
from .views.my import xmy
from .views.wy import xwy

def create_app():
    app = Flask(__name__)
    app.secret_key = 'asdfaskdfjsd'

    @app.route('/index')
    def index():
        return 'index'
	#m没加命名空间  访问http://127.0.0.1:5000/f1返回v1_f1
    app.register_blueprint(xmy)#注册进去
    app.register_blueprint(xwy)
    
    #加了命名空间访问http://127.0.0.1:5000/web/f1 返回v1_f1
    # app.register_blueprint(xmy,url_prefix='/web')
    # app.register_blueprint(xwy,url_prefix='/admin')
    

    return app

views文件夹下 v1.py

from flask import Blueprint

xmy = Blueprint('v1',__name__)

@xmy.route('/f1')
def f1():
    return 'v1_f1'

@xmy.route('/f2')
def f2():
    return 'v1_f2'


views文件夹下 v2.py

from flask import Blueprint

xwy = Blueprint('v2',__name__)

@xwy.route('/f3')
def f3():
    return 'v2_f3'

@xwy.route('/f4')
def f4():
    return 'v2_f4'

posted @ 2020-03-12 11:51  一起奥利给  阅读(300)  评论(0编辑  收藏  举报