【测试平台开发】——01后端web开发框架Flask
官方中文地址:https://flask.net.cn/
官方英文地址:https://flask.palletsprojects.com/en/2.1.x/
github地址:https://github.com/pallets/flask
一、一个最小的Flask应用
from flask import Flask, escape, request, session app = Flask(__name__)
# 加上密钥
app.secret_key="zc" @app.route('/')
def hello_world():
name = request.args.get("name", "World")
return f'Hello, {escape(name)}!'
再打开命令行:
# 启动falsk
env FLASK_ENV=development FLASK_APP=flask_app flask run
FLASK_ENV=development:开发模式,如果出错了会直接打印出来错误信息
打开浏览器:http://127.0.0.1:5000
二、创建路由
添加以下代码:
from flask import Flask, escape, request, session app = Flask(__name__) @app.route('/login', methods=['get','post'])
def login():
res={
"method": request.method,
"url": request.path,
"args": request.args
}
return res
返回到浏览器输入:http://127.0.0.1:5000/login
1、发起get请求
模拟添加参数,在地址栏输入:http://127.0.0.1:5000/login?username=test&password=1234567
返回值就打印出来参数了。
2、发起POST请求
打开命令行输入:
curl -XPOST http://127.0.0.1:5000/login?username=test\&password=1234567
3、发起form请求
修改代码,加上form
@app.route('/login', methods=['get','post'])
def login():
res = {
"method": request.method,
"url": request.path,
"args": request.args,
"form": request.form
} return res
并且命令行输入:
curl -XPOST http://127.0.0.1:5000/login?username=test\&password=1234567 -d 'c=1'
打印form参数结果:
4、添加session
代码添加:
from flask import Flask, escape, request, session app = Flask(__name__)
# 加上密钥
app.secret_key="test" @app.route('/login', methods=['get','post'])
def login():
res={
"method": request.method,
"url": request.path,
"args": request.args,
"form": request.form
}
session['username1']=request.args.get("name") return res
返回浏览器地址刷新,请求头多出来Cookie:
三、静态文件
放在static目录下的的文件可以进行读取。
首先在项目目录中创建static文件夹,并且在文件夹下创建html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>静态文件</h1>
</body>
</html>
返回到浏览器地址输入:http://127.0.0.1:5000/static/test.html
四、自动化平台系列文章汇总
【测试平台开发】——01后端web开发框架Flask的更多相关文章
- 学习版pytest内核测试平台开发万字长文入门篇
前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...
- web开发框架Flask学习一
flask框架 用Python做Web开发的三大框架特点 Django 主要特点是大而全,集成了很多的组件,例如:Admin Form Model等,不管你用不用的到,他都会为 你提供,通常用于大型W ...
- 技术分享 | 一步一步学测试平台开发-Vue restful请求
本文节选自霍格沃兹测试学院内部教材 一般在构建应用时需要访问后端的 API 接口获取后端数据并展示.做这件事的方法有很多种(比如 axios,vue-resource,fetch-jsonp),使用 ...
- web开发框架Flask学习二
jinja2模板规范 在当前项目中创建一个文件为templates的文件夹,将其设置为模板文件夹,新建的html为模板页面, 在视图函数中使用render_template(".html的文 ...
- 【Python】 Web开发框架的基本概念与开发的准备工作
Web框架基本概念 现在再来写这篇文章显然有些马后炮的意思.不过正是因为已经学习了Flask框架, 并且未来计划学习更加体系化的Django框架,在学习过程中碰到的很多术语等等,非常有必要通过这样一篇 ...
- 5个最好的Python Web开发框架
Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升 ...
- 开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
在我们开发开发H5程序或者小程序的时候,有时候需要基于内置浏览器或者微信开发者工具进行测试,这个时候可以采用默认的localhost进行访问后端接口,一般来说没什么问题,如果我们需要通过USB基座方式 ...
- KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
- 各种Web漏洞测试平台
Sqli Lab支持报错注入.二次注入.盲注.Update注入.Insert注入.Http头部注入.二次注入练习等.支持GET和POST两种方式. https://github.com/Audi-1 ...
- web开发-前后端分离原理
前言 前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx+Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务 ...
随机推荐
- 🚀 Karpor - 让 AI 全面赋能 Kubernetes!
什么是 Karpor? 一言以蔽之,Karpor 是一个现代化的 Kubernetes 可视化工具,核心特性聚焦在 搜索. 洞察. AI ,目标是更方便快捷地连接平台和多集群,并用 AI 赋能 Ku ...
- Linux Mint操作系统安装
1,Linux 发行版 什么是Linux 发行版呢?这要从Linux 来源说起.Unix操作系统后期,开始收费和商业闭源了.一个叫Richard Stallman 的人就发起 GNU 计划,想模仿U ...
- 新版SpringBoot-Spring-Mybatis 数据库相关配置
application.properties server.port=8081 # ========================数据库相关配置===================== sprin ...
- Java-Request对象是用来回去请求信息,得到页面的请求
1.Request 1.1 request对象和response对象的原理(了解) request对象和response对象是由服务器创建的,我们来使用他们即可 request对象是用来回去请求信息, ...
- Kolla-ansible部署openStack
目录 Kolla-ansible部署openStack 1. 简介 2. 环境准备 3. 部署 3.1 基础环境配置 3.1.1 配置主机名,所有节点操作,这里以openstack01为例 3.1.2 ...
- 2. CMake 的简单使用
2. CMake 的简单使用 我们创建一个工程目录,在里面定义一些简单的加减乘除运算,然后定义一个 main.cpp 的文件: 结构如下: tree /f .\ D:\SOURCE\CMAKE_PRO ...
- 10.2 web服务器
Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做HTTP(Hypertext Transfer Protocol,超文本传输协议).HTTP是一个简单的协议.一个Web客户端(即浏览 ...
- API引用在Element UI (Vue 2)和Element Plus (Vue 3)中的不同
API 变动 样式类名变化: 一些组件的样式类名有所变动,可能需要更新你的自定义样式. 事件名和属性名变化: 某些组件的事件名和属性名发生了变化,需要检查 Element Plus 文档 以了解详细信 ...
- [oeasy]python0070_动态类型_静态类型_编译_运行_匈牙利命名法
动态类型_静态类型 回忆上次内容 上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档 文档 可以写成网页 python3 本身 也有 在线的帮助手册 目前的程序 提高了 可 ...
- java面试一日一题:讲下mysql中的锁
问题:请讲下在mysql中的锁 分析:该问题主要考察对中锁的掌握,主要考察的是读.写锁.行锁.间隙锁.next-key,其他还有表锁.意向锁 回答要点: 主要从以下几点去考虑, 1.mysql中的锁有 ...