代码编织梦想

项目结构与蓝图

蓝图

请添加图片描述

  • 定义

    ​ 在Flask中, 蓝图(蓝本)(blueprint)是一种用来扩展已有Flask应用结构的方式, 蓝图提供了一种把功能类似的视图函数组合在一起的方式, 通过这种方式, 开发者能够把他们的应用拆分成不同的组件. 在我们的架构中, 蓝图的作用类似于控制器(controller).

  • 如何使用

    • 创建一个蓝图对象

      from flask import Blueprint
      users_bp = Blueprint('users', __name__)
      
    • 在这个蓝图对象上进行操作, 注册路由, 指定静态文件夹, 注册模板过滤器

      @users_bp.route('/index')
      def indext():
          return 'users bp response'
      
    • 在应用对象上注册蓝图对象

      # 3.注册蓝图
      from flask import Flask
      # 导入蓝图
      from apps.users_bp import users_bp
      
      # 创建Flask实例
      app = Flask(__name__)
      # 注册蓝图
      app.register_blueprint(users_bp)
      
      if __name__ == '__main__':
          # 查看路由映射
          print(app.url_map)
          app.run()
      
初识 flask-script
  • 安装配置与第一个restful测试

    pip install flask-restful

  • 基本使用

    • 导入Api与Resource, api用于创建api对象, Resource用于类视图的形式实现

      from flask_restful import Api, Resource
      
    • 创建api对象

      api = Api(app)
      
    • 自定义视图类, 必须继承Resource

      class IndexResource(Resource):
          pass
      
    • 视图类中定义请求方法

      class IndexResource(Resource):
          # 4.在视图类中定义请求方法
          def get(self):
              # 返回响应
              return 'first restful api'
      
    • 使用api对象添加路由

      api.add_resource(IndexResource, '/index', endpoint='index')
      
  • Flask-RESTful配合蓝图

    • 基本流程

      # Flask-RESTful配合蓝图:
      1.创建蓝图文件, 编写蓝图代码:
          - 创建蓝图对象
          - 创建蓝图api接口对象
          - 编写蓝图的视图类
          - 给蓝图视图添加路由
      2.创建主程序, 编写主程序代码:
          - 导入蓝图对象, 用于后续的注册
          - 创建Flask实例对象
          - 创建Flask实例的api对象
          - 注册蓝图
          - 程序入口
      
    • 代码

      # users_bp.py: 蓝图编码
      from flask import Blueprint
      from flask_restful import Api, Resource
      
      # 创建蓝图对象
      users_bp = Blueprint('users', __name__)
      # 创建接口api对象
      api = Api(users_bp)
      
      # 创建蓝图视图
      class IndexResource(Resource):
          def get(self):
              return 'users_bp.api'
      
      # 添加蓝图路由
      api.add_resource(IndexResource, '/index', endpoint='index')
      
      # 主程序编码
      from flask import Flask
      from flask_restful import Api, Resource
      # 导入蓝图
      from apps.users_bp import users_bp
      
      app = Flask(__name__)
      api = Api(app)
      # 注册蓝图
      app.register_blueprint(users_bp)
      
      if __name__ == '__main__':
          # 查看路由映射
          print(app.url_map)
          app.run()
      
视图类的装饰器
  • 所有方法添加装饰器

    # 给视图类中的所有方法加装饰器
    def decorator1(func):
          def wrapper(*args, **kwargs):
              print('decorator1')
              return func(*args, **kwargs)
          return wrapper
    
    
    def decorator2(func):
        def wrapper(*args, **kwargs):
            print('decorator2')
            return func(*args, **kwargs)
        return wrapper
    
    
    class DemoResource(Resource):
        method_decorators = [decorator1, decorator2]
    
        def get(self):
            return {'msg': 'get view'}
    
        def post(self):
            return {'msg': 'post view'}
    
  • 为单个方法指定装饰器

    # 指定方法加指定装饰器
    class DemoResource(Resource):
          method_decorators = {
              'get': [decorator1, decorator2],
              'post': [decorator1]
          }
    
          # 使用了decorator1 decorator2两个装饰器
          def get(self):
              return {'msg': 'get view'}
    
          # 使用了decorator1 装饰器
          def post(self):
              return {'msg': 'post view'}
    
          # 未使用装饰器
          def put(self):
              return {'msg': 'put view'}
    
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/YPeng_Gao/article/details/127996549

flask --(29) 对 flask 蓝图的理解_furuiyang_的博客-爱代码爱编程_flask蓝图的理解

随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。 如下示例:我们在一个文件中写入多个路由,这会使代码维护变得困难。 from flask impor

flask 蓝图_hello_bytes的博客-爱代码爱编程_flask 蓝图

       由于项目开发是一个非常耗时间和精力的工程,如果我们将所有的Flask请求方法都写在同一个文件下的话,非常不便于我们代码管理和后期功能代码的添加。        如下示例:我们在一个文件中写入多个路由,这会使代码维护变得困难。        如图所示,如果我们将所有的请求方法写在同一个处理文件下面的话,会导致我们的代码显得很没有逻辑性,如

flask蓝图(blueprint)的理解和用法_xiaoming0018的博客-爱代码爱编程_flask blueprint详解

Flask蓝图作用: Blueprint把不同功能的module分开。可以让应用模块化,针对大型应用。 蓝图的基本概念:在蓝图被注册到应用之后,所要执行的操作的集合。当分配请求时, Flask 会把蓝图和视图函数关联起来,并生成两个端点之前的 URL 。 比如只有一个run.py。有些功能需要多人分开来写,有些功能会有交错的可能,代码位置也不会在一起,这

对flask蓝图的理解_最美程序员的博客-爱代码爱编程_flask蓝图的理解

1、蓝图的定义: 蓝图/Blueprint是Flask应用程序组件化的方法,可以在一个应用内或跨越多个项目共用蓝图。使用蓝图可以极大地简化大型应用的开发难度,也为flask扩展提供了一种在应用中注册服务的集中式机制。 2、

对 flask 蓝图(blueprint)的理解_凯凯丽的博客-爱代码爱编程

一、蓝图的定义 蓝图 /Blueprint 是 Flask 应用程序组件化的方法,可以在一个应用内或跨越多个项目共用蓝图。 使用蓝图可以极大地简化大型应用的开发难度,也为 Flask 扩展 提供了一种在应用中注册服务的集中

flask蓝图介绍及创建蓝图-爱代码爱编程

文章目录 一、蓝图1. 什么是蓝图2. 蓝图的运行机制3. 运行创建的蓝图及加上路由前缀4. 一个项目中多个蓝图5. 使用蓝图构建项目6. 修改文件(运行项目)7. 项目运行中使用restful获取的接口数据页面调用

UE4蓝图基础——蓝图介绍及实现数据计算并输出-爱代码爱编程

UE4蓝图基础——蓝图介绍及实现数据计算并输出 蓝图介绍蓝图类型变量数学蓝图实现两个变量相加在运行时候输出显示出来 UE4中蓝图系统是非常强大的,可以不进行编写任何代码实现交互开发,蓝图可视化脚本系统是一个完整的游戏脚本系统,可以通过节点连线的方式实现交互。蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。 在使用虚幻 4 的过程中,常

Flask蓝图-爱代码爱编程

蓝图 需求 在一个Flask 应用项目中,如果业务视图过多,可否将以某种方式划分出的业务单元单独维护,将每个单元用到的视图、静态文件、模板文件等独立分开? 例如从业务角度上,可将整个应用划分为用户模块单元、商品模块单元、订单模块单元,如何分别开发这些不同单元,并最终整合到一个项目应用中? 在Django中这种需求是如何实现的? 蓝图 【蓝图相当

flask 理解蓝图-爱代码爱编程

为什么要使用蓝图? 我的理解就是把不同功能进行模块化,通过模块的划分可以更好的组织项目的目录结构,使项目的整个框架更加清 晰假如在一个app.py文件里面有有以删除,添加,登录…功能这样使文件看起来很乱,不利于维护,我这么说并不是代表就不能在app这个文件里面写这么多的代码,只是写的太多不好维护。 二、使用蓝图 1.使用蓝图按照以下的顺序: 创建蓝

flask之蓝图-爱代码爱编程

一、蓝图概念 蓝图(blueprint):用于实现单个应用的视图、模板、静态文件的集合。 蓝图就是模块化处理的类。类似于django中app,子应用。 简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。 flask中,将项目模块化,bluepr

Flask——蓝图的定义和基本使用方法-爱代码爱编程

本文讲述Flask蓝图的使用,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能,这里先举一个小例子,新建main.py文件,内容如下: from flask import Flask app = Flask(__name__) @app.route("/"

flask web 框架——蓝图(Blueprint)-爱代码爱编程

文章目录 一、蓝图(Blueprint)的概念二、蓝图的使用三、嵌套蓝图四、蓝图资源4.1 蓝图资源文件夹4.2 静态文件4.3 模板五、创建 URL六、蓝图错误处理器 一、蓝图(Blueprint)的概念 在小型项目中,我们可以将代码写在一个文件中,但是到了中大型项目中,这么做就不合适了。所以,我们需要将代码分成多个模块或者包,然后导入使用

flask中蓝图的概念及实现-爱代码爱编程

1.蓝图的概念 在Flask中, 蓝图(blueprint)是一种用来扩展已有Flask应用结构的方式, 蓝图提供了一种把功能类似的视图函数组合在一起的方式, 通过这种方式, 开发者能够把他们的应用拆分成不同的组件. 在我们的架构中, 蓝图的作用类似于控制器(controller). # 蓝图的使用步骤分为三步: 1.创建一个蓝图对象 2.在这个蓝图对

flask蓝图_丨静默丨的博客-爱代码爱编程

蓝图 相当于django中的子应用,能够修改项目的目录结构,按需划分层次 在Flask中, 蓝图是一种用来扩展已有Flask应用结构的方式, 蓝图提供了一种把功能类似的视图函数组合在一起的方式, 通过这种方式, 开发者能够把他们的应用拆分成不同的组件. 在我们的架构中, 蓝图的作用类似于控制器. 蓝图的使用步骤分为三步:         1.创建一

day4 --- flask 蓝图与rest-ful_qishaoawei的博客-爱代码爱编程

蓝图 蓝图的使用步骤分为三步: 1.创建一个蓝图对象 2.在这个蓝图对象上进行操作, 注册路由, 指定静态文件夹, 注册模板过滤器 3.在应用对象上注册蓝图对象 开始创建 蓝图的实现 创建一个app.py文件跟一个目录 app.py文件中编写 from flask import Flask from views.user import user_b

flask蓝图_flask中的蓝图-爱代码爱编程

简介 蓝图:用于实现单个应用的视图、模板、静态文件的集合。 蓝图就是模块化处理的类。 简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。 蓝图的运行机制 蓝图是保存了一组将来可以在应用对象上执行的操作。注册路由就是一种操作,当在程序实例上调用r