Flask蓝图

它的作用就是将 功能 与 主服务 分开怎么理解呢?

比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中,可以把蓝图理解为一个不能被run的Flask实例

创建一个用户文件:users.py

from flask import Blueprint, render_template

user = Blueprint("user", __name__, template_folder="username", url_prefix="/user")  # user:蓝图的标识,用于整个应用程序当中,名字不要重复
                                                   # template_folder :指定模板文件
                                                   # url_prefix :为url添加前缀,在多个蓝图中出现相同的url是使用,访问格式/user/user @user.route("/user", methods=["GET", "POST"])
def user_func(): # 名字不要和Blueprint重复
return render_template("name.html")

在app文件中导入并注册

from flask import Flask
from users import user #导入 app = Flask(__name__) app.register_blueprint(users.user) #注册 @app.route("/index")
def index():
return "光临" if __name__ == '__main__':
app.run()

蓝图目录结构

创建app01的python包(名字随意)

Flask蓝图

在__init__py中创建APP

from flask import Flask
from .views import users def create_app():
app = Flask(__name__)
app.debug = True app.register_blueprint(users.user) return app

在users中写路由函数

from flask import Blueprint

user = Blueprint("user",__name__)

@user.route("/user")
def user_func():
return "usersl"

在manager中启动

from app01 import create_app
app = create_app() if __name__ == '__main__':
app.run()
上一篇:SpringBoot使用SOFA-Lookout监控


下一篇:pthread_exit pthread_join