当前位置: 首页 > news >正文

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

简介

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 Flaskapp = 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 应用程序。思维导图如下:

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

  • 华为OD机试 - 寻找最优的路测线路(Java JS Python C)
  • 谈谈我的三次考研经历
  • 网络流总结
  • HNU-数据库系统-实验3-数据库设计
  • Lumeical Script------Script Prompt 中的两种输出方式
  • 冬装活动提成计算
  • 练习-双指针的使用
  • 阿里云PolarDB数据库不同配置租用价格表
  • Flutter中的Container小部件介绍与使用
  • SQL高级:事务
  • 【普中开发板】基于51单片机的温度报警器LCD1602_可调上下限( proteus仿真+程序+设计报告+讲解视频)
  • hexo主题配置遇到的问题
  • 学习笔记:C++之 switch语句
  • Linux Debian12系统gnome桌面环境默认提供截屏截图工具gnome-screenshot
  • 简易机器学习笔记(七)计算机视觉基础 - 常用卷积核和简单的图片的处理
  • 【刷算法】求1+2+3+...+n
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • classpath对获取配置文件的影响
  • ES学习笔记(12)--Symbol
  • GraphQL学习过程应该是这样的
  • HTML-表单
  • JavaScript创建对象的四种方式
  • react 代码优化(一) ——事件处理
  • SpiderData 2019年2月23日 DApp数据排行榜
  • vue数据传递--我有特殊的实现技巧
  • 高性能JavaScript阅读简记(三)
  • 前端_面试
  • 前端性能优化——回流与重绘
  • 微信小程序填坑清单
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 进程与线程(三)——进程/线程间通信
  • ​比特币大跌的 2 个原因
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #Linux(make工具和makefile文件以及makefile语法)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (4)Elastix图像配准:3D图像
  • (4)事件处理——(7)简单事件(Simple events)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (译) 函数式 JS #1:简介
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • **CI中自动类加载的用法总结
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core使用ef 6
  • .net refrector
  • .NET建议使用的大小写命名原则
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET开源项目介绍及资源推荐:数据持久层
  • .NET正则基础之——正则委托
  • .so文件(linux系统)