flask-蓝图(Blueprint)
- flask蓝图的设计可以实现django类似的创建app的功能,蓝图可以让flask的项目更模块化,结构更加清晰,可以将相关的视图函数和配置放在同一个目录下,方便管理。
- 主文件
from flask import Flask from user.views import user_app import sys import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.join(BASE_DIR, 'apps')) apps = [ user_app, ] app = Flask(__name__) for each in apps: app.register_blueprint(each) if __name__ == '__main__': app.run()
- app文件
1 from flask import Blueprint 2 3 user_app = Blueprint('user', __name__) 4 5 6 @user_app.route('/user/login') 7 def login(): 8 return 'login page'
- 项目结构
-
每个蓝图就是一个额外的app,蓝图需要在app.register_blueprint里面进行注册
- 主文件