蓝图就是一个功能模块。 蓝图就是为了项目的模块化。
goods.py(商品模块,创建蓝图,注册蓝图路由):
# coding:utf-8
from flask import Blueprint # 导入蓝图
# 1. 创建蓝图对象 (蓝图就是抽象的功能模块,模块化)
# 第一个参数是蓝图的名字,第二个参数表示蓝图的根目录(__name__当前模块所在目录)
# 第三、四个参数指定模板目录和静态资源目录。(查找模板时,先在项目中的目录中查找,找不到再去蓝图对应目录中查找)
app_goods = Blueprint("goods", __name__, template_folder="templates", static_folder="static")
# 2. 创建蓝图的视图函数 (通过蓝图装饰路由)
@app_goods.route("/get_goods")
def get_goods():
return "get goods page"
main.py(项目主程序,注册蓝图):
# coding:utf-8
from flask import Flask
from goods import app_goods # 导入商品模块
app = Flask(__name__)
# 注册蓝图 (添加商品模块,将蓝图中的url映射关系加载到项目中)
app.register_blueprint(app_goods, url_prefix="/goods")
if __name__ == '__main__':
print(app.url_map) # 查看路由映射
app.run() # 启动web服务器