项目目录:
蓝图必须使用 Blueprint实例化一个对象,Blueprint也是继承的Flask
#app1.views.py文件代码 #蓝图 from flask import Blueprint,render_template,send_file #Blueprint 当作一个不能run的Flask实例 user = Blueprint("app01user",__name__,url_prefix="/admin",template_folder="/flsakdemo1/app01/templates",static_folder="/flsakdemo1/app01/static",static_url_path="/app01/static") #第一个参数蓝图名 url_prefix @user.route("/loginOne") def loginOne(): return "I am app01user Blueprint loginOne func" @user.route("/sendFiles") def sendFiles(): return send_file("01.png")
#app2.views.py文件代码 #蓝图 from flask import Blueprint #Blueprint 当作一个不能run的Flask实例 user = Blueprint("app02user",__name__,url_prefix="/shopping") #第一个参数蓝图名 url_prefix url前缀:用于隔离相同url,蓝图名称不能重复,保证在app中唯一。 # app = Flask(__name__) @user.route("/loginOne") def loginOne(): return "I am app02user Blueprint loginOne func"
使用蓝图
from flask import Flask app = Flask(__name__) #Flask中的蓝图 Blueprint #蓝图作用:功能隔离,路由隔离 #建立蓝图注册:结合app01,app02一起看 from flsakdemo1.app01.views import user app.register_blueprint(user) from flsakdemo1.app02.views import user as app02_user app.register_blueprint(app02_user) if __name__ == '__main__': app.run()