软件测试|测试平台开发-Flask 入门:编写第一个简单 Web 应用

发布时间 2023-10-11 18:25:35作者: 霍格沃兹测试开发学社

在这里插入图片描述

简介

Flask 是一个轻量级的 Python Web 框架,它使得创建 Web 应用变得简单快捷。相比于Django框架,它具有以下的优点:

  • 轻:Flask 是一个轻量级的 Web 框架,使用 Python 语言编写
  • 易:较其他同类型框架更为灵活、轻便且容易上手
  • 快:小型团队在短时间内就可以完成功能丰富的中小型网站或 Web 服务的实现

所以我们的测试平台选用flask来作为后端开发框架。

本文将从零开始编写第一个 Flask 应用。在这个入门项目中,我们将创建一个简单的 Web 应用,展示一条欢迎消息。

安装Flask

Flask是一个python的第三方库,所以安装的命令为:

pip install flask

导入flask模块,如下:

import flask

flask demo

安装完成之后,我们就可以来编写我们的第一个flask脚本了,脚本代码如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_flask():
    return 'Hello Flask!'

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

脚本解析

  1. 导入flask.Flask
from flask import Flask
  1. 创建实例
app = Flask(__name__)

实例化创建一个 Flask 应用,第一个参数app是 Flask 应用的名称,__name__ 是一个标识 Python 模块的名字的变量:

  • 如果当前模块是主模块,那么此模块名字就是 __main__
  • 如果当前模块是被 import 的,则此模块名字为文件名
  1. 装饰器
@app.route('/')
def hello_flask():
    return 'Hello Flask!'
  • 定义函数 hello_flask,它返回一段 html 文本
  • app.route(’/’) 返回一个装饰器,装饰器来为函数 hello_flask 绑定对应的 URL(路由)
  • 当用户在浏览器访问这个 URL 的时候,就会触发这个函数,获取返回值
  1. 入口函数
if __name__ == '__main__':
    app.run() 

如果当前模块是主模块,则变量 __name__ 为 '__main__,此时调用 run() 方法启动 Flask 应用。

运行脚本,控制台输出如下:

* Serving Flask app 'flask_demo'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [20/Jul/2023 14:56:13] "GET / HTTP/1.1" 200 -

浏览器访问127.0.0.1,页面如下:

在这里插入图片描述

修改监听地址和端口

默认访问的主机地址是 127.0.0.1,默认端口是 5000,我们可以对监听的地址和端口进行修改,如下:

if __name__ == '__main__':
    app.run(host = '0.0.0.0', port = 8888)

再次运行,如下:

 * Serving Flask app 'flask_demo'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:8888
 * Running on http://192.168.5.143:8888
Press CTRL+C to quit

总结

在本文中,我们创建了一个简单的 Web 应用,并通过访问根 URL 来显示欢迎消息。Flask 是一个强大而简单的 Web 框架,我们可以通过学习更多功能和概念来构建更复杂的 Web 应用程序。思维导图如下:

在这里插入图片描述