在Flask中,使用蓝图Blueprint来分模块组织管理。
蓝图实际可以理解为是一个存储一组视图方法的容器对象,其具有如下特点:
使用蓝图可以分为三个步骤
user_bp=Blueprint(‘user‘,__name__)
@user_bp.route(‘/‘) def user_profile(): return ‘user_profile‘
app.register_blueprint(user_bp)
from flask import Blueprint goods_dp = Blueprint("goods", __name__)
创建视图文件:
定义视图:
from . import goods_dp @goods_dp.route("/goods") def get_goods(): return "get goods"
在init中加载视图:
from flask import Blueprint goods_dp = Blueprint("goods", __name__) from . import views
from flask import Flask, Blueprint from goods import goods_dp app = Flask(__name__, static_url_path="/s", static_folder="static_f") # 注册蓝图 app.register_blueprint(goods_dp) if __name__ == ‘__main__‘: app.run()
面的示例将蓝图所在目录下的static_admin目录设置为静态目录
admin = Blueprint("admin",__name__,static_folder=‘static_admin‘)
现在就可以使用/admin/static_admin/<filename>
访问static_admin
目录下的静态文件了。
也可通过static_url_path
改变访问路径
admin = Blueprint("admin",__name__,static_folder=‘static_admin‘,static_url_path=‘/lib‘)
蓝图对象默认的模板目录为系统的模版目录,可以在创建蓝图对象时使用 template_folder 关键字参数设置模板目录
admin = Blueprint(‘admin‘,__name__,template_folder=‘my_templates‘)
原文:https://www.cnblogs.com/liuxuelin/p/14529240.html