官方中文地址: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的更多相关文章

  1. 学习版pytest内核测试平台开发万字长文入门篇

    前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...

  2. web开发框架Flask学习一

    flask框架 用Python做Web开发的三大框架特点 Django 主要特点是大而全,集成了很多的组件,例如:Admin Form Model等,不管你用不用的到,他都会为 你提供,通常用于大型W ...

  3. 技术分享 | 一步一步学测试平台开发-Vue restful请求

    本文节选自霍格沃兹测试学院内部教材 一般在构建应用时需要访问后端的 API 接口获取后端数据并展示.做这件事的方法有很多种(比如 axios,vue-resource,fetch-jsonp),使用 ...

  4. web开发框架Flask学习二

    jinja2模板规范 在当前项目中创建一个文件为templates的文件夹,将其设置为模板文件夹,新建的html为模板页面, 在视图函数中使用render_template(".html的文 ...

  5. 【Python】 Web开发框架的基本概念与开发的准备工作

    Web框架基本概念 现在再来写这篇文章显然有些马后炮的意思.不过正是因为已经学习了Flask框架, 并且未来计划学习更加体系化的Django框架,在学习过程中碰到的很多术语等等,非常有必要通过这样一篇 ...

  6. 5个最好的Python Web开发框架

    Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开始学习Python,也立即就能获得生产力上的提升 ...

  7. 开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试

    在我们开发开发H5程序或者小程序的时候,有时候需要基于内置浏览器或者微信开发者工具进行测试,这个时候可以采用默认的localhost进行访问后端接口,一般来说没什么问题,如果我们需要通过USB基座方式 ...

  8. KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架

    koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...

  9. 各种Web漏洞测试平台

    Sqli Lab​支持报错注入.二次注入.盲注.Update注入.Insert注入.Http头部注入.二次注入练习等.支持GET和POST两种方式. https://github.com/Audi-1 ...

  10. web开发-前后端分离原理

    前言 前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx+Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务 ...

随机推荐

  1. 🚀 Karpor - 让 AI 全面赋能 Kubernetes!

    什么是 Karpor? 一言以蔽之,Karpor 是一个现代化的 Kubernetes 可视化工具,核心特性聚焦在  搜索. 洞察. AI ,目标是更方便快捷地连接平台和多集群,并用 AI 赋能 Ku ...

  2. Linux Mint操作系统安装

    1,Linux 发行版 什么是Linux 发行版呢?这要从Linux 来源说起.Unix操作系统后期,开始收费和商业闭源了.一个叫Richard  Stallman 的人就发起 GNU 计划,想模仿U ...

  3. 新版SpringBoot-Spring-Mybatis 数据库相关配置

    application.properties server.port=8081 # ========================数据库相关配置===================== sprin ...

  4. Java-Request对象是用来回去请求信息,得到页面的请求

    1.Request 1.1 request对象和response对象的原理(了解) request对象和response对象是由服务器创建的,我们来使用他们即可 request对象是用来回去请求信息, ...

  5. Kolla-ansible部署openStack

    目录 Kolla-ansible部署openStack 1. 简介 2. 环境准备 3. 部署 3.1 基础环境配置 3.1.1 配置主机名,所有节点操作,这里以openstack01为例 3.1.2 ...

  6. 2. CMake 的简单使用

    2. CMake 的简单使用 我们创建一个工程目录,在里面定义一些简单的加减乘除运算,然后定义一个 main.cpp 的文件: 结构如下: tree /f .\ D:\SOURCE\CMAKE_PRO ...

  7. 10.2 web服务器

    Web客户端和服务器之间的交互用的是一个基于文本的应用级协议,叫做HTTP(Hypertext Transfer Protocol,超文本传输协议).HTTP是一个简单的协议.一个Web客户端(即浏览 ...

  8. API引用在Element UI (Vue 2)和Element Plus (Vue 3)中的不同

    API 变动 样式类名变化: 一些组件的样式类名有所变动,可能需要更新你的自定义样式. 事件名和属性名变化: 某些组件的事件名和属性名发生了变化,需要检查 Element Plus 文档 以了解详细信 ...

  9. [oeasy]python0070_动态类型_静态类型_编译_运行_匈牙利命名法

    动态类型_静态类型 回忆上次内容   上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档 文档 可以写成网页   python3 本身 也有 在线的帮助手册   目前的程序 提高了 可 ...

  10. java面试一日一题:讲下mysql中的锁

    问题:请讲下在mysql中的锁 分析:该问题主要考察对中锁的掌握,主要考察的是读.写锁.行锁.间隙锁.next-key,其他还有表锁.意向锁 回答要点: 主要从以下几点去考虑, 1.mysql中的锁有 ...