Python Flask Blueprint 蓝图

Python Flask Blueprint 蓝图

本篇来了解一下 Flask 中 Blueprint 蓝图,什么蓝图 。。就是一个分模块的扩展而已,用来让不同的 业务模块api 分到不同的python文件中 而已,和 Spring mvc 的 class 级别 的@RequestMapping(“/”) 差不多。。

Python Flask Blueprint 蓝图

前因:

为什么要引入 Blueprint 蓝图呢? 因为如果默认把API接口都写到 一个py 文件里面 那么这个文件会越来越复杂,会越来越臃肿 导致 无法维护 ,所以按照正常的开发逻辑 也需要进行模块的划分 ,那么就需要引入 Blueprint

1.安装 Blueprint

需要先在环境中 使用 pip 安装一下 Blueprint 扩展

pip install Blueprint

2.编写Flask 入口 py文件

from flask import Flask

app = Flask(__name__)

@app.route('/')
def helloworld():
    return 'Hello world python flask'

新版本应该是 不支持这样启动了
if __name__ == '__main__':
    app.run()

3.编写User模块 user.py文件

根据业务 可以创建新的模块 然后通过Blueprint 去注册路由

from flask import Blueprint

user = Blueprint('user',__name__)

@user.route('/user/username')
def username():
    return 'get username : johnny'

4.Blueprint注册到 Flask app上

在入口文件中 把刚刚创建的 Blueprint 注册上去

from flask import Flask

#引入 刚刚创建的 blueprint
from user import user

app = Flask(__name__)
#注册到 flask app上
app.register_blueprint(user)

@app.route('/')
def helloworld():
    return 'Hello world python flask'

if __name__ == '__main__':
    app.run()

5.验证

访问:/user/username 得到如下:

Python Flask Blueprint 蓝图

访问: / 得到如下:

Python Flask Blueprint 蓝图

总结:

使用 Blueprint很简单 按照下面的流程

  1. pip install Blueprint
  2. 创建 新模块文件,在其中创建Blueprint对象 如:
Blueprint两个参数('蓝图名字',蓝图所在位置')
user = Blueprint('user',__name__)
  1. Blueprint注册到 Flask app上
#引入 刚刚创建的 blueprint
from user import user
app = Flask(__name__)

app.register_blueprint(user)

可以把Blueprint 理解为 Spring mvc 的 Class 级别 的@RequestMapping(“/user”) 差不多。。

欢迎大家访问 个人博客 Johnny小屋
欢迎关注个人公众号

Python Flask Blueprint 蓝图

Original: https://www.cnblogs.com/askajohnny/p/16539103.html
Author: AskaJohnny
Title: Python Flask Blueprint 蓝图

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/684726/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 每天一个 HTTP 状态码 202

    202 Accepted 表示服务器已经接受了这个请求,但是还不确定… 202 Accepted 202 Accepted 表示服务器已经接受了这个请求,但是还不确定这…

    技术杂谈 2023年7月11日
    083
  • 无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口

    无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口 回顾 通过之前一篇文章无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RES…

    技术杂谈 2023年7月25日
    0105
  • Datahub小结

    往datahub发送数据时,建议使用Producer。好处是不用设置shardId,这样datahub在增加或减少shard时,业务代码都不需要变更。另外datahub的shard…

    技术杂谈 2023年5月30日
    0102
  • 关于微服务

    原创不易,求分享、求一键三连 微服务会让我们的应用变多,并且为了高可用一个服务会在线上部署多台,那么进行服务调用就存在节点之间的负载均衡和服务发现,负载均衡是为了让各个节点的负载尽…

    技术杂谈 2023年6月1日
    0107
  • Python可视化打包 exe,这个神器绝了

    auto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具。本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包。aut…

    技术杂谈 2023年6月21日
    0111
  • Bot Style Tests VS Page Objects

    Bot Style Tests 一个 bot是基于Selenium APIs 面向操作的抽象。这意味着如果你发现命令对你的应用程序没有做正确的事情,改变他们很容易。 bst.py …

    技术杂谈 2023年5月31日
    0101
  • SpringBoot初学入门篇,带你快速上手使用springboot

    SpringBoot框架是每个Java开发人员必须掌握的开发利器。SpringBoot可以快速创建基于Spring的应用。其核心依然是IoC, AOP, 代理,工厂,容器。 动力节…

    技术杂谈 2023年7月25日
    073
  • Jenkins构建vue项目自动部署到远程服务器

    1.环境要求 以下服务器的操作系统均为Centos7 服务器A:Gitlab 服务器B:Jenkins 服务器C:Nginx,即你的vue项目部署服务器。 gitlab、Jenki…

    技术杂谈 2023年7月11日
    073
  • xhEditor实现ctrl+v粘贴word图片并上传

    这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用。 以vue为例说明: 将tinymce下载后放到static目录下,不用npm安装。 powe…

    技术杂谈 2023年5月31日
    0130
  • 聊聊AA实验的波动性

    当我们在实验评估系统上开启一个实验组和对照组配置一摸一样的实验时,我们称之为AA实验。AA实验通常用来辅助观察指标在产品不做改变时的偏差范围。我们通常会在实验里加一个和对照组一模一…

    技术杂谈 2023年5月31日
    0105
  • pwm驱动

    1.1、参考博客 参考的教程如下: 1.2、什么是PWM 脉冲宽度调制(PWM),是英文”Pulse Width Modulation”的缩写,简称脉宽调制…

    技术杂谈 2023年6月21日
    0113
  • Django的ModelAdmin自带

    需要自定义数据表中哪些字段可以显示,哪些字段可以编辑,并对数据表中的条目进行排序,同时定义过滤选项。Django的ModelAdmin自带的list_display, list_f…

    技术杂谈 2023年7月10日
    080
  • DispatcherServlet 分发流程

    0 太长不看版 HTTPServlet 的 Service 方法将请求按类进行分解 主要是根据HTTP方法的类型调用 doXXX 方法 GET 和 HEAD 方法需要对 if-mo…

    技术杂谈 2023年7月24日
    088
  • 初步体验 Kubernetes 的 Custom Resource Definition

    CRD(Custom Resource Definition) 是 kubernetes 强大扩展能力的一处体现,联系到编程场景,CRD 相当于是类(class),custom r…

    技术杂谈 2023年5月31日
    0119
  • 设计模式

    设计模式 工厂模式 public class Test { public static void main(String[] args) { Computer c1 =Comput…

    技术杂谈 2023年6月21日
    0101
  • 如何支持组件的子元素任意摆放

    一个筛选组件如下图: 筛选组件包含一个 button 和一个 form, button 能控制 form 的显示与隐藏。设计里 button 和 form 在一行,实现时理所当然地…

    技术杂谈 2023年7月11日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球