网络编程
位置:首页>> 网络编程>> Python编程>> Flask蓝图学习教程

Flask蓝图学习教程

作者:Ywx_csdn  发布时间:2023-03-02 04:19:15 

标签:Flask,蓝图

前序

1、蓝图

在一个Flask 应用项目中,如果业务视图过多,可否将以某种方式划分出的业务单元单独维护,将每个单元用到的视图、静态文件、模板文件等独立分开?

例如从业务角度上,可将整个应用划分为用户模块单元、商品模块单元、订单模块单元,如何分别开发这些不同单元,并最终整合到一个项目应用中?

2、蓝图介绍

在Flask中,使用蓝图Blueprint来分模块组织管理。

蓝图实际可以理解为是一个存储一组视图方法的容器对象,其具有如下特点:

一个应用可以具有多个Blueprint

可以将一个Blueprint注册到任何一个未使用的URL下比如 “/user”、“/goods”

Blueprint可以单独具有自己的模板、静态文件或者其它的通用操作方法,它并不是必须要实现应用的视图和

函数的

在一个应用初始化时,就应该要注册需要使用的Blueprint

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

一、创建蓝图包

因为在一个项目中业务较多,可以创建一个蓝图包,里面static目录文件、templates目录文件,初始化的_init_.py

如图:

Flask蓝图学习教程

二、使用步骤

1、在初始化__init_.py 文件创建蓝图

1、_init.py 创建蓝图

2、其中:static_folder=‘sta’ 是当前蓝图包静态文件访问路径,template_folder=‘tmp’ 是当前蓝图包templates下目录的访问路径。

3、 要引入当前目录的视图函数文件

#这个文件创建蓝图
from flask import *
order_bp=Blueprint('order',__name__,static_folder='sta',template_folder='tmp')
#引入视图函数
from . import order_func

2、创建视图函数文件

1、在新建一个创立视图函数的文件

2、 这个文件要导入建好的蓝图

#这个文件创建视图函数
#导入蓝图
from . import order_bp
@order_bp.route('/co')
def test1():
   return "hello python"

3、调用问题

1、当在应用程序需要用到某个视图函数时,可以通过蓝图进行调用。

2、注意:from order import order_bp 中的order是我自己命名的蓝图包名字,order_bp是蓝图名字

3、 url_prefix=‘/order’ 是设置客户端(浏览器)访问服务器的前缀 后面加上访问视图函数的装饰器。

from flask import Flask
app = Flask(__name__)
#导入蓝图
from order import order_bp
app.register_blueprint(order_bp,url_prefix='/order')
if __name__ == '__main__':
   app.run()

客户端(浏览器)访问路径展示

Flask蓝图学习教程

4、访问静态文件

Flask蓝图学习教程

总结

  • 在应用开发当中要用到功能非常多,以此对应的视图函数就很多。

  • 因此通过创建不同的蓝图下的不同的视图函数,可以快速精准的定位到某个视图函数。

来源:https://blog.csdn.net/Ywx_csdn/article/details/127194278

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com