官方中文地址: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. vue+thinkphp5实现微信扫码支付(NATIVE支付)

    前言 统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返回预支付订单号的接口,目前微信支付所有场景均使用这一接口.下面介绍的是其中NATIVE的支付实现流程与PC端实现扫码支付流 ...

  2. 嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)

    前 言 本文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 ...

  3. [golang]在Gin框架中使用JWT鉴权

    什么是JWT JWT,全称 JSON Web Token,是一种开放标准(RFC 7519),用于安全地在双方之间传递信息.尤其适用于身份验证和授权场景.JWT 的设计允许信息在各方之间安全地. co ...

  4. LitCTF 2023 部分wp

    LitCTF 2023 PWN 只需要nc一下~ 根目录下的是假flag,真的在环境变量里 口算题卡 简单的计算题 import pwn io = pwn.remote("node5.ann ...

  5. C#进行图片压缩(对jpg压缩效果最好)

    直接上代码 1 public static class ImageCompress 2 { 3 /// <summary> 4 /// 图片压缩 5 /// </summary> ...

  6. 教你基于MindSpore用DCGAN生成漫画头像

    本文分享自华为云社区<[昇思25天学习打卡营打卡指南-第二十天]DCGAN生成漫画头像>,作者:JeffDing. DCGAN生成漫画头像 在下面的教程中,我们将通过示例代码说明DCGAN ...

  7. java后端解决请求跨域

    跨域 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 例如:a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同 ...

  8. Kolla-ansible部署openStack

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

  9. Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

    扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 useHead 函数概述 useHead是一个用于在 Nuxt 应用中自定义页面头部属性的函数.它由Unhead库提供支持,允许开发者以编 ...

  10. MongDB 的下载和安装

    1.官网: https://www.mongodb.com/ 2.进入下载链接,选择windows平台版本 https://www.mongodb.com/try/download/community ...