flask蓝图的使用

1.flask蓝图的含义

     如果我们将所有的Flask的请求方法都写在同一个文件下的话,非常的不便于我们的代码的管理和后期的功能代码的添加,简单来说蓝图就是实现一个模块化。

2.使用蓝图步骤

    第一步:创建蓝图

    使用如图所示,找到自己需要几个模块,假设该项目只需要两个模块,一个管理者,一个用户,则需要创建两个蓝图即可。
在这里插入图片描述代码如下所示:

#创建蓝图
from flask import  Blueprint #先导入蓝图函数

admin_blue = Blueprint('admin',__name__)

from  admin import viewmodel
from  admin import viewmodel2
from  admin import viewmodel3
from flask import  Blueprint #先导入蓝图函数

user_blue = Blueprint('user',__name__)

from  user import userview
    第二步:编写试图函数

在这里插入图片描述代码如下所示:其他类似不一一举例

from admin import admin_blue

@admin_blue.route('/viewmodel')
def viewmodel():
    return 'viewmodel'
    第三步:注册蓝图

在这里插入图片描述代码如下图所示:

from flask import Flask
from admin import admin_blue
from user import user_blue

__author__ = '小可爱'

app = Flask(__name__)

#注册蓝图

app.register_blueprint(admin_blue)
app.register_blueprint(user_blue)

if __name__ == '__main__':
    app.run()
3.运行结果

输入http://127.0.0.1:5000/viewmodel2
在这里插入图片描述输入http://127.0.0.1:5000/viewmodel
在这里插入图片描述
输入http://127.0.0.1:5000/viewmodel3
在这里插入图片描述这样一个简单的蓝图就已经使用进去了!

### Flask蓝图(Blueprint)的使用方法 在Flask中,蓝图(Blueprint)是一种模块化设计工具,能够将复杂应用拆分为独立的功能模块。以下是关于如何在Flask使用蓝图的具体方法[^1]。 #### 1. 导入蓝图模块 首先需要从Flask中导入`Blueprint`类。通过以下代码实现: ```python from flask import Blueprint ``` #### 2. 创建蓝图对象 创建一个蓝图对象时,需要提供两个参数:蓝图的名称和蓝图所在的模块或包名。例如: ```python sv = Blueprint("sv", __name__) ``` 此处的`"sv"`是蓝图的名称,而`__name__`表示当前模块的名称[^3]。 #### 3. 添加路由和视图函数 在蓝图中添加路由和视图函数的方式与直接在Flask应用中添加类似。例如: ```python @sv.route("/svlist") def view_list(): return "svlist_view_list" ``` 此代码为蓝图`sv`定义了一个名为`/svlist`的路由及其对应的视图函数[^3]。 #### 4. 注册蓝图Flask应用 创建好蓝图后,需要将其注册到Flask应用实例上。这通常在应用工厂函数或主应用文件中完成。例如: ```python from flask import Flask from s_view import sv # 假设蓝图定义在s_view.py中 app = Flask(__name__) app.register_blueprint(sv, url_prefix="/sv") # 将蓝图注册到"/sv"路径下 ``` 这里的`url_prefix`参数指定了蓝图中所有路由的前缀。例如,上述代码中的`/svlist`路由最终会变为`/sv/svlist`[^2]。 #### 5. 蓝图的高级用法 - **多个蓝图**:一个Flask应用可以注册多个蓝图,每个蓝图可以负责不同的功能模块[^4]。 - **子域名支持**:蓝图可以绑定到特定的子域名上,从而实现更灵活的URL管理[^5]。 - **静态文件和模板**:蓝图可以拥有自己的静态文件和模板目录,便于模块化管理资源[^4]。 ### 示例代码 以下是一个完整的示例,展示如何在Flask使用蓝图: ```python # 文件: s_view.py from flask import Blueprint sv = Blueprint("sv", __name__) @sv.route("/svlist") def view_list(): return "svlist_view_list" # 文件: app.py from flask import Flask from s_view import sv app = Flask(__name__) app.register_blueprint(sv, url_prefix="/sv") if __name__ == "__main__": app.run() ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值