随笔分类 - fastapi
摘要:aiohttp初识(请求&响应) aiohttp(用于asyncio和Python的异步HTTP客户端/服务器)初识 1|0aiohttp客户端使用 用于asyncio和Python的异步HTTP客户端/服务器:Asynchronous HTTP Client/Server for asyncio
阅读全文
摘要:目录 1.创建app 2.静态文件路径 3.模板(前后端不分离) 4.参数 4.1路径参数 4.2查询字符串参数 4.3表单参数 4.4请求体参数 4.5依赖 Depends 4.6 请求头 5.响应 6.中间件 7.CORS跨域请求 8.异常处理Haddler 9.BackgroundTasks
阅读全文
摘要:aiomysql、asyncpg、aioredis 楔子 Python 目前已经进化到了 3.8 版本,对操作数据库也提供了相应的异步支持。当我们做一个 Web 服务时,性能的瓶颈绝大部分都在数据库上,如果一个请求从数据库中读数据的时候能够自动切换、去处理其它请求的话,是不是就能提高并发量了呢。 下
阅读全文
摘要:安装aerich pip install aerich 1 创建models.py, 构建数据模型 from tortoise import Model, fields class User(Model): """ 用户基础信息 """ name = fields.CharField(max_len
阅读全文
摘要:本文介绍异步MySQL异步驱动aiomysql的使用 1,安装异步模块 如果没有模块则先使用pip安装模块 ? 1 2 pip3 install asyncio pip3 install aiomysql 2,创建MySQL数据库连接池 和同步方式不一样的是使用异步不能直接创建数据库连接conn,需
阅读全文
摘要:目录 概述 fastapi引入 创建对应数据模型 创建Model 设置数据库字段field 字段介绍 自定义字段 设置Meta Model模型方法 查询 Q对象查询 字段过滤 预取 F表达式 功能和聚合 事务 根据Model生成Schema 概述 fastapi是一个很优秀的框架,但是缺少一个合适的
阅读全文
摘要:aiomysql,aiomongo,aioredis ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 pool = await aiomysql.
阅读全文
摘要:Pydantic官方文档 1. 简介 1.7.1 版本的文档。 使用Python类型注解进行数据验证和设置管理。 Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。 定义数据如何表示为纯粹和规范的 Python ,并使用 pydantic 对其进行验证。 1.1 示例
阅读全文
摘要:fastapi(66)- 修改 uvicorn 的日志格式 背景 默认启动 uvicorn 之后,访问接口会有打印日志,如下 但我觉得这个日志满足不了我,我想加内容,比如时间戳,那要怎么操作捏 首先打断点 debug 走起 F7 进到内部 ctrl + 点击 Config,然后往下看有一个 log_
阅读全文
摘要:fastapi(65)- 路由函数指定了 response_model,在返回自定义 JSONResponse 时, 不会限制它返回的数据结构 前置知识 JSONResponse:https://www.cnblogs.com/poloyy/p/15364445.html response_mode
阅读全文
摘要:FastAPI(64)- Settings and Environment Variables 配置项和环境变量 背景 在许多情况下,应用程序可能需要一些外部设置或配置,例如密钥、数据库凭据、电子邮件服务凭据等。 大多数这些设置都是可变的(可以更改),例如数据库 URL,很多可能是敏感数据,比如密码
阅读全文
摘要:FastAPI(63)- Concurrency and async / await 并发、异步/等待 await 如果使用的第三方库说明调用它们要通过 await results = await some_library() 声明路径操作函数 @app.get('/') async def rea
阅读全文
摘要:FastAPI(62)- FastAPI 部署在 Docker Docker 学习 https://www.cnblogs.com/poloyy/p/15257059.html 项目结构 . ├── app │ ├── __init__.py │ └── main.py ├── Dockerfile
阅读全文
摘要:FastAPI(61)- 异步测试 前言 前面讲解了通过 pytest 进行单元测试,是针对同步函数的:https://www.cnblogs.com/poloyy/p/15354901.html 但它无法再 pytest 中测试或运行任何异步函数 能够在测试中使用异步函数可能很有用 例如,当异步查
阅读全文
摘要:FastAPI(59)- 详解使用 OAuth2PasswordBearer + JWT 认证 JWT JSON Web Tokens 它是一个将 JSON 对象编码为密集且没有空格的长字符串的标准 使用 JWT token 和安全密码 hash 使应用程序真正安全 JWT 小栗子 eyJhbGci
阅读全文
摘要:FastAPI(60)- 针对 WebSocket 进行单元测试 前言 还是比较简单的,直接写代码啦 FastAPI 的单元测试:https://www.cnblogs.com/poloyy/p/15354901.html 直接上代码 #!usr/bin/env python # -*- codin
阅读全文
摘要:FastAPI(58)- 使用 OAuth2PasswordBearer 的简单栗子 背景 假设在某个域中拥有后端 API(127.0.0.1:8080) 并且在另一个域或同一域的不同路径(或移动应用程序)中有一个前端(127.0.0.1:8081) 并且希望有一种方法让前端使用用户名和密码与后端进
阅读全文
摘要:FastAPI(57)- 安全相关的概念 OAuth2 OAuth2 是一个规范,它定义了几种处理身份验证和授权的方法 这是一个相当广泛的规范,涵盖了几个复杂的用例 它包括使用“第三方”进行身份验证的方法 比如在抖音通过微信、QQ 登录,底层用的就是 OAuth2 OAuth1 OAuth 1,它与
阅读全文
摘要:FastAPI(56)- 使用 Websocket 打造一个迷你聊天室 背景 在实际项目中,可能会通过前端框架使用 WebSocket 和后端进行通信 这里就来详细讲解下 FastAPI 是如何操作 WebSocket 的 模拟 WebSocket 客户端 #!usr/bin/env python
阅读全文
摘要:FastAPI(55)- Events: startup - shutdown 启动/关闭事件 背景 可以定义需要在应用程序启动之前或应用程序关闭时执行的事件处理程序(函数) 这些函数可以用 async def 或普通 def 注意:只会执行主应用程序的事件处理程序,而不会执行子应用程序 实际代码
阅读全文