蓝本(blueprint)

蓝本(Blueprint)是Flask框架中用于实现应用模块化的工具,能有效解决视图函数集中在一个文件导致的维护难题。它是一个视图函数和URL规则的容器,可以在应用启动时注册到特定URL前缀。Blueprint允许在多个地方注册,拥有自己的模板和静态文件,但不能独立运行,必须注册到应用中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念
  将视图方法模块化,既当大量的视图函数放在一个文件中,很明显是不合适,最好的方案是根据功能将路由合理的划分到不同的文件中;而蓝本就是为了解决这个问题而出现的。
2.使用 
2.1 导入库类

from flask import Blueprint

2.2 创建对象

user = Blueprint('user', __name__, url_prefix='/user')
mian=Blueprint("main",__name__)

2.3在user.py中添加视图函数

from flask import Blueprint,render——template
#蓝本
main=Blueprint("main",__name__)
#添加视图函数
@mian.route('/')
def mianinfo:
 return render_template("main.html")

2.4在manager.py中的程序:

from flask_script import Manager
from flask_migrate import MigrateCommand
from App import create_app
#创建对象
app = create_app()
manager = Manager(app)
manager.add_command("db",MigrateCommand)
if __name__ == "__main__":
    manager.run()

2.5在__init__.py中注册蓝本:

from flask import Flask

from App.config import configDict
from App.extensions import init_app
from App.views import register_blueprint


def create_app(configName = "default"):
    app = Flask(__name__)
    # 加载配置文件内容
    app.config.from_object(configDict[configName])
    # 注册蓝本
    register_blueprint(app)
    # 初始化扩展库
    init_app(app)
    return app

我们在实际程序编写过程中,不可能在一个py文件中放入多个路由,这样不仅占用过多存储空间,而且也不方便维护。如果py文件报错,那么代码无法继续写下去。
所以引入蓝本(Blueprint)。简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。
Flask使用Blueprint让应用实现模块化,在Flask中,Blueprint具有如下属性:

  • 一个应用可以具有多个Blueprint
  • 可以将一个Blueprint注册到任何一个未使用的URL下比如 “/”、“/sample”或者子域名
  • 在一个应用中,一个模块可以注册多次
  • Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法,它并不是必须要实现应用的视图和函数的
  • 在一个应用初始化时,就应该要注册需要使用的Blueprint

但是一个Blueprint并不是一个完整的应用,它不能独立于应用运行,而必须要注册到某一个应用中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值