【测试平台开发】——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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-07-27 【Selenium + Python】之OSError: [WinError 6] 句柄无效。