zl程序教程

您现在的位置是:首页 >  Python

当前栏目

测试之路python-flask框架:路由和蓝图

2023-02-18 16:23:13 时间

哈喽,大家好,我是歪小王,本期内容就聊聊MTV中的V(视图函数)中比较核心的两个概念---蓝图与路由。

01.路由

路由在很多开发框架中是一个很重要的概念。它就好比门牌号一样,可以通过路径,精确定位到某个方法。

在python中。路由是通过装饰器来表现这种形式的。它能够准确的将浏览器发出的请求,发送给指定方法。下面用一个小示例,说明下路由的绑定与浏览器访问。

  • 新建一个flask项目。导入flask包,然后实例化flask对象。
  • 创建一个方法,并在方法上面使用@app.route("/路由路径")装饰器绑定路由。
    • 注意:视图函数中的所有方法。都需要return一个结果。
  • 完成上面的步骤后,可以在命令行输入python app.py的命令运行该程序。这里需要注意,使用命令行,首先要进到当前项目的根目录,或者键入项目的绝对路径。如下图所示结果图。我们可以使用程序返回的链接访问,也可以在浏览器输入后访问。

说明:在app.run中,可以指定运行地址以及端口号,如果为空,则默认为127.0.0.1:5000。如果为0.0.0.0则允许用户通过ip地址访问本机,也就是外网也可以访问。(后续部署到服务器时,会用到这个方法)

以上就是路由的绑定,与访问。是不是很简单?大家可以动手试试哈。如果访问中出现not found这种情况的话,不要慌,先看看路由路径是否正确。我在刚接触flask的时候,总忘记浏览器地址栏中输入路由地址。

02.蓝图

在上面的示例中,我们可以看到视图函数写入到了app的运行文件中。一个项目中有成百上千个这样的函数。如果全部放在这一个模块中。在维护的时候,就需要在上千行上万行代码中去寻找bug。蓝图就可以解决这个问题。

蓝图,就是将视图函数与其他代码进行组装的一种方式。可以将视图函数与其他配置文件进行分离。

  1. 分离app模块(以下步骤比较绕。可以跟着小王一起敲)。
    • 首先新建一个apps的包,然后在初始化文件中定义一个创建app的方法。并返回app。
    • 而后在apps的层级下创建一个view包并创建一个view模块。专门用来存放某一类的视图函数。比如下图的user_view包主要是用来处理用户相关信息的。
  • 接下来就是进入view函数中进行蓝图绑定与注册。
  1. 实例化app文件
    1. 进入app.py文件中。删除原有的代码。调用apps中的creat_app方法实例app对象

至此。蓝图的绑定就成功了。从上述步骤来说,分离了视图函数,分离了app的运行配置文件。虽然步骤看起来麻烦点,但是从代码维护的角度上来看,这样更方便项目的维护以及问题的定位。

3. 配置文件

在项目中,会单独定义一个settings.py的文件用来存放配置信息。调用时如上方在creat_app中调用app.config.from_object(配置文件名)方法,加载指定的配置文件名

ENV = "development" 开发模式

development 开发模式

production:生产环境

testing:测试环境

DEBUG = True 开启调试模式

import os


class Config:
    DEBUG = True

# 本地调试环境
class Development(Config):
    ENV = 'development'

# 生产环境
class Production(Config):
    ENV = 'production'
    DEBUG = False

上述参数中为配置文件的基本参数(固定写法),后续如果有数据库操作、redis的相关配置也可写入此处。

03.结尾

本期内容就到这里就结束了。这一期主要为大家讲述了路由以及蓝图的概念。步骤上会有点绕。但是实际操作下还是很简单的。小王去做核酸去了。各位大佬,我们下期见~

拜拜~~~~~