Fork me on GitHub

Flask 蓝图

Flask 蓝图


蓝图的概念:

对应用程序的结构进行分配


蓝图的作用:

    将不同的功能 模块化;
    构建大型的应用;
    优化项目结构;
    增强可读性,易于维护;

蓝图构建项目目录:

定义蓝图 每个app应用下的init 文件中

home/__init__.py

	from flask import Blueprint
	home = Blueprint('home',__name__,template_folder='',static_folder='')
	import app.home.views	

admin/__init__.py

	from flask import Blueprint
	admin = Blueprint('admin',__name__)
	import app.admin.views	

home/views.py
	from . import home
	@home.route('/')
	def index():
	    return "<h2>这是home</h2>"

admin/views.py
	from . import home
	@admin.route('/')
	def index():
	    return "<h2>这是admin</h2>"

注册蓝图

   app/ __init__.py

        from flask import Flask

        app = Flask(__name__)
        app.debug = True                 # 开启debug模式提示报错信息

        from app.home import home as home_blueprint
        from app.admin import admin as admin_blueprint

        app.register_blueprint(home_blueprint)
        app.register_blueprint(admin_blueprint,url_prefix='/admin')   # 指定访问前缀,类似于django的 include

调用蓝图

manage.py :

    from  app import app

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

目录结构

flask_project
            │  create_db.py
            │  manage.py
            │
            └─app
                │  models.py
                │  __init__.py
                │
                ├─admin
                │      forms.py
                │      views.py
                │      __init__.py
                │
                ├─home
                │      forms.py
                │      views.py
                │      __init__.py
                │
                ├─static
                └─templates
                    │  404.html
                    │
                    ├─admin
                    └─home

请求扩展 -- before_request 等 可以单独对 蓝图生效,也可以对整个app生效

posted @ 2018-02-26 09:52  派对动物  阅读(193)  评论(0编辑  收藏  举报
Top