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包(名字随意)

在__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()
原文地址:https://www.cnblogs.com/wanglan/p/10560764.html