官方中文地址: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. Codeforces Round 955 (Div. 2, with prizes from NEAR!) codeforces div2 955

    A. Soccer ------------------------题解--------------- 给你开始比分和结束比分问你中间两队比分有没有相等过有可能就是YES不可能就是NO 结束时两队比分 ...

  2. WEB入门 - 文件上传

    WEB入门 - 文件上传 参考文章 https://fushuling.com/index.php/2023/08/20/ctfshow刷题记录持续更新中/ https://www.cnblogs.c ...

  3. mac电脑好用的工具总结

    制作gif:https://gfycat.com/gifbrewery 制作gif(超级好用,制作速度快,压缩图片小):https://www.cockos.com/licecap/ 解压工具:htt ...

  4. [oeasy]python0117 文字的演化_埃及圣书体_象形文字_楔形文字

    埃及圣书体 回忆上次内容 两河流域 苏美尔文明 所使用的 楔形文字 不是象形文字     ​   添加图片注释,不超过 140 字(可选)   楔形文字的字型 究竟是怎么来的呢?   巴别塔 苏美尔的 ...

  5. oeasy教您玩转vim - 6 - # 保存修改

    另存与保存 回忆上节课内容 我们上次进入了插入模式 从正常模式,按<kbd>i</kbd>,进插入模式 从插入模式,按<kbd>ctrl</kbd>+& ...

  6. 【VMware VCF】VMware Cloud Foundation Part 02:部署 Cloud Builder。

    VMware Cloud Builder 是用于构建 VMware Cloud Foundation 第一个管理域的自动化部署工具,通过将一个预定义信息的 Excel 参数表导入到 Cloud Bui ...

  7. vscode 调试 nodejs 程序

    nodejs 服务在vscode 中的调试 1.安装vscode 略(这不用说了吧) 2.写一个能跑的nodejs 程序 其实看到这个,自己已经有一个能跑的nodejs 程序,不用看我的了 我这里是我 ...

  8. 微服务:openFeign

    openFeign是一个声明式http客户端.作用:基于springMVC常见注解,帮我们更优雅的实现http请求 引入依赖 <!--openFeign--> <dependency ...

  9. 痞子衡嵌入式:MCUXpresso IDE下在线联合调试i.MXRT1170双核工程的三种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下在线联合调试i.MXRT1170双核工程的三种方法. 两年前痞子衡写过一篇<i.MXRT1170下在 ...

  10. linux中whereis、which、find、locate的区别

    linux中whereis.which.find.locate的区别 1. find       fan路名含 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用实例 ...