Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰、简单易懂
首先,让我们来看下flask应用与蓝图之间的关系。蓝图代表着应用的一个个功能模块,能做到即插即用。
结构
project
├── app
│ ├── __init__.py
│ └── web
│ ├── __init__.py
│ └── login.py
└── app.py
Demo Code
- app/__init__.py
from flask import Flask
def create_app():
app = Flask(__name__)
app.secret_key = 'XxxxxxX'
registry_blueprint(app)
return app
def registry_blueprint(app):
from app.web import web
app.register_blueprint(web)
- app.py
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run()
- web/__init__.py
from flask import Blueprint
web = Blueprint('web', __name__)
from app.web import login
- web/login.py
from . import web
@web.route('/login/<username>')
def login(username):
return username