python flask使用blueprint

python flask使用blueprint

前言

项目地址:https://github.com/SEN-Wanted/BackEnd
blueprint作为可以将应用模块化的一个很有用的方式,大型的应用几乎所有都会采用这种模式,而在一些小项目的开发上面是否有必要采用这种模式来进行开发呢?我的意见是如果是对于团队协作的项目,最好是一开始就采用blueprint这种开发方式,以这次的项目为例(预期实现一个点餐app后端,项目较小),起初的文件架构如下:

Appserver/ 
├── App  
│   ├── static/      # 静态资源文件夹  
│   ├── templates/   # 模板文件夹  
│   ├── __init__.py    
│   └── view.py    #  主文件,未使用blueprint
├── run.py   
├── config.py    # 配置文件
├── requirements     # 需求文件  
└── README.md  

起初是没什么问题,但是当多人协作时,每个人虽然负责不同的部分编写,但是却在同一个文件下编写(view.py),造成的问题是在更新文件的时候忽视别人的提交,可能会覆盖他人的代码,这是我们决定使用蓝图(blueprint)来解决这个问题,每个人只需专注于自己负责的代码文件,使用后文件组织形式如下:

Appserver/
├── app
│   ├── static/      # 静态资源文件夹
│   ├── templates/   # 模板文件夹
│   ├── json_test/   # 用来存放测试文件
│   ├── __init__.py  # 初始化文件
│   ├── store_info.py # blueprint
│   ├── user_info.py # blueprint
│   ├── order_info.py # blueprint
│   ├── store_by_id.py # blueprint
│   ├── orders_by_user_id.py # blueprint
│   ├── type_search.py # blueprint
│   ├── user_login.py # blueprint
│   ├── models.py # 数据格式
│   ├── createdb.py # 创建数据库
│   └── view.py # 调用blueprint
├── config.py    # 配置文件
├── run.py # 主程序文件
├── requirements     # 需求文件
└── README.md

虽然文件结构变复杂了,但是有两点好处是我切身体会到的:

1.维护方便
2.添加需求方便

blueprint使用

blueprint的使用还是挺简单方便的,以如下文件结构为例:

Appserver/
├── app
│   ├── static/      # 静态资源文件夹
│   ├── templates/   # 模板文件夹
│   ├── __init__.py  # 初始化文件
│   └── test_blueprint.py # blueprint
└── run.py

1.声明blueprint
简单来说就是声明一个变量为blueprint,同时给它一个唯一的__name__,完成之后,我们就可以在view.py中对它进行使用
test_blueprint.py

# -*- coding: utf-8 -*-
from flask import Blueprint, request

test_blueprint = Blueprint('fir_blueprint',__name__)

@test_blueprint.route('/test', methods=['GET'])
def test():
	return "test success"

2.使用blueprint
在声明blueprint之后,需要在_init_ .py中进行注册
_init_.py

# -*- coding: utf-8 -*-
from flask import Flask
from test_blueprint import test_blueprint

app = Flask(__name__)
app.register_blueprint(test_blueprint)

其他文件:
run.py

# -*- coding: UTF-8 -*-
from app import app
if __name__ == '__main__':
    '''
    开启 debug模式
    # 设置 host='0.0.0.0'
    '''
    app.run(debug=True, host='0.0.0.0')

在Appserver目录下运行run.py,之后在浏览器中访问http://0.0.0.0:5000/test就可以看到返回的成功信息"test success"

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python Flask 蓝图是一种组织 Flask 应用程序的有效方式。它允许您将应用程序分解为可重用的模块,并使应用程序更易于管理和扩展。蓝图可以定义路由、视图、静态文件和模板等 Flask 应用程序中的各种组件。 以下是 Python Flask 蓝图的用法: 1. 创建蓝图 要创建蓝图,您需要使用 Flask 实例的 Blueprint() 函数。Blueprint() 函数需要两个参数:蓝图名称和蓝图文件的位置。 例如,以下代码创建了一个名为 'main' 的蓝图,并将其保存在 main.py 文件中: ``` from flask import Blueprint main_blueprint = Blueprint('main', __name__) ``` 2. 定义路由 要在蓝图中定义路由,您需要使用 Blueprint 对象的 route() 方法。该方法与 Flask 实例的 route() 方法类似。 例如,以下代码在 'main' 蓝图中定义了一个路由: ``` @main_blueprint.route('/') def index(): return 'Hello, World!' ``` 3. 注册蓝图 要在 Flask 应用程序中使用蓝图,您需要将其注册到应用程序中。可以使用 Flask 实例的 register_blueprint() 方法将蓝图注册到应用程序中。 例如,以下代码将 'main' 蓝图注册到 Flask 应用程序中: ``` from flask import Flask from main import main_blueprint app = Flask(__name__) app.register_blueprint(main_blueprint) ``` 4. 使用蓝图的静态文件和模板 蓝图也可以定义其自己的静态文件和模板。要使用蓝图的静态文件和模板,您需要在蓝图的文件夹中创建一个名为 'static' 和 'templates' 的文件夹,并将静态文件和模板放在这些文件夹中。 例如,以下代码显示了如何在蓝图中使用静态文件和模板: ``` main_blueprint = Blueprint('main', __name__, template_folder='templates', static_folder='static') @main_blueprint.route('/') def index(): return render_template('index.html') ``` 以上就是 Python Flask 蓝图的用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值