01 2022 档案

摘要:安装aerich pip install aerich 1 创建models.py, 构建数据模型 from tortoise import Model, fields class User(Model): """ 用户基础信息 """ name = fields.CharField(max_len 阅读全文
posted @ 2022-01-28 19:10 小学弟- 阅读(1217) 评论(0) 推荐(0) 编辑
摘要:本文介绍异步MySQL异步驱动aiomysql的使用 1,安装异步模块 如果没有模块则先使用pip安装模块 ? 1 2 pip3 install asyncio pip3 install aiomysql 2,创建MySQL数据库连接池 和同步方式不一样的是使用异步不能直接创建数据库连接conn,需 阅读全文
posted @ 2022-01-28 18:55 小学弟- 阅读(672) 评论(0) 推荐(0) 编辑
摘要:目录 概述 fastapi引入 创建对应数据模型 创建Model 设置数据库字段field 字段介绍 自定义字段 设置Meta Model模型方法 查询 Q对象查询 字段过滤 预取 F表达式 功能和聚合 事务 根据Model生成Schema 概述 fastapi是一个很优秀的框架,但是缺少一个合适的 阅读全文
posted @ 2022-01-28 18:52 小学弟- 阅读(5920) 评论(0) 推荐(0) 编辑
摘要:Faker github地址:https://github.com/joke2k/faker 官方地址:https://faker.readthedocs.io/en/master/ 一、Faker是干什么的? Faker是一个Python包,主要用来创建伪数据,使用Faker包,无需再手动生成或者 阅读全文
posted @ 2022-01-27 13:51 小学弟- 阅读(2143) 评论(0) 推荐(0) 编辑
摘要:在使用django-rest-framework开发项目的时候我们总是避免不了跨域的问题,因为现在大多数的项目都是前后端分离,前后端项目部署在不同的web服务器上,因为我们是后端程序员,因此我要通过后端的程序实现跨域。当然如果前端框架是Vue的话,则可以代理服务实现跨域 DRF后端实现跨域我们使用一 阅读全文
posted @ 2022-01-25 11:11 小学弟- 阅读(126) 评论(0) 推荐(0) 编辑
摘要:Django Rest Framework 转https://www.cnblogs.com/wupeiqi/articles/7805382.html 一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer 阅读全文
posted @ 2022-01-24 10:28 小学弟- 阅读(86) 评论(0) 推荐(0) 编辑
摘要: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. 阅读全文
posted @ 2022-01-20 11:03 小学弟- 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Pydantic官方文档 1. 简介 1.7.1 版本的文档。 使用Python类型注解进行数据验证和设置管理。 Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。 定义数据如何表示为纯粹和规范的 Python ,并使用 pydantic 对其进行验证。 1.1 示例 阅读全文
posted @ 2022-01-19 18:43 小学弟- 阅读(1188) 评论(0) 推荐(0) 编辑
摘要:Django REST framework如何解决vue请求跨域问题 1.首先安装django-cors-headers pip3 install django-cors-headers 2.配置settings.py文件 在INSTALLED_APPS里添加 "corsheaders" INSTA 阅读全文
posted @ 2022-01-19 18:38 小学弟- 阅读(87) 评论(0) 推荐(0) 编辑
摘要:Django定时任务 需求背景 需求为每天定时发送推送给app,这个需求可以使用linux自带的crontab实现,但是项目使用了django开发,故使用django自带的方法来实现。 安装 pip3 install django-crontab 设置 将app添加到settings.py中 INS 阅读全文
posted @ 2022-01-19 18:37 小学弟- 阅读(418) 评论(0) 推荐(0) 编辑
摘要:MongoEngine中文文档 简介: MongoEngine是一个基于pymongo开发的ODM库,对应与SQLAlchemy。同时,在MongoEngine基础上封装了Flask-MongoEngine,用于支持flask框架。 官方地址:http://docs.mongoengine.org/ 阅读全文
posted @ 2022-01-19 18:31 小学弟- 阅读(758) 评论(0) 推荐(0) 编辑
摘要:MongoDB 存储过程 本文链接:https://blog.csdn.net/hudeyong926/article/details/106447344/ 本文主要介绍mongo存储过程,每个MongoDB的数据库中都有个特殊的集合:system.js,用来存放javascript变量.这些变量可 阅读全文
posted @ 2022-01-19 17:49 小学弟- 阅读(429) 评论(0) 推荐(0) 编辑
摘要:python--Scrapy模块的使用二 出处:http://www.cnblogs.com/wupeiqi/ 一:去除重复URL scrapy默认使用 scrapy.dupefilter.RFPDupeFilter 进行去重,相关配置有: DUPEFILTER_CLASS = 'scrapy.du 阅读全文
posted @ 2022-01-10 10:53 小学弟- 阅读(69) 评论(0) 推荐(0) 编辑
摘要:python--Scrapy模块的使用 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。 Scrapy 使用了 Twisted异步网络库来处理网络通讯。整体架构大致如下 各个组件: Scrapy引擎: 是框架核心,用 阅读全文
posted @ 2022-01-10 10:50 小学弟- 阅读(214) 评论(0) 推荐(0) 编辑
摘要:python Scrapy实现使用Splash进行网页信息爬取 一:回顾Scrapy的使用 二:爬取网址 (一)需求 最近想看漫画,奈何需要注册并支付...,想着爬取图片到本地进行浏览 (二)页面源码 我们可以知道图片网址存在一部分规则,我们可以按照这部分规则进行网站爬取。 但是我们可以知道在Img 阅读全文
posted @ 2022-01-10 10:47 小学弟- 阅读(245) 评论(0) 推荐(0) 编辑
摘要:python-aiohttp的使用 1.aiohttp的简单使用(配合asyncio模块) import asyncio,aiohttp async def fetch_async(url): print(url) async with aiohttp.request("GET",url) as r 阅读全文
posted @ 2022-01-10 10:42 小学弟- 阅读(723) 评论(0) 推荐(0) 编辑
摘要:fastapi(66)- 修改 uvicorn 的日志格式 背景 默认启动 uvicorn 之后,访问接口会有打印日志,如下 但我觉得这个日志满足不了我,我想加内容,比如时间戳,那要怎么操作捏 首先打断点 debug 走起 F7 进到内部 ctrl + 点击 Config,然后往下看有一个 log_ 阅读全文
posted @ 2022-01-06 14:44 小学弟- 阅读(394) 评论(0) 推荐(0) 编辑
摘要:fastapi(65)- 路由函数指定了 response_model,在返回自定义 JSONResponse 时, 不会限制它返回的数据结构 前置知识 JSONResponse:https://www.cnblogs.com/poloyy/p/15364445.html response_mode 阅读全文
posted @ 2022-01-06 14:42 小学弟- 阅读(84) 评论(0) 推荐(0) 编辑
摘要:FastAPI(64)- Settings and Environment Variables 配置项和环境变量 背景 在许多情况下,应用程序可能需要一些外部设置或配置,例如密钥、数据库凭据、电子邮件服务凭据等。 大多数这些设置都是可变的(可以更改),例如数据库 URL,很多可能是敏感数据,比如密码 阅读全文
posted @ 2022-01-06 14:39 小学弟- 阅读(279) 评论(0) 推荐(0) 编辑
摘要:FastAPI(63)- Concurrency and async / await 并发、异步/等待 await 如果使用的第三方库说明调用它们要通过 await results = await some_library() 声明路径操作函数 @app.get('/') async def rea 阅读全文
posted @ 2022-01-06 14:37 小学弟- 阅读(221) 评论(0) 推荐(0) 编辑
摘要:FastAPI(62)- FastAPI 部署在 Docker Docker 学习 https://www.cnblogs.com/poloyy/p/15257059.html 项目结构 . ├── app │ ├── __init__.py │ └── main.py ├── Dockerfile 阅读全文
posted @ 2022-01-06 14:36 小学弟- 阅读(325) 评论(0) 推荐(0) 编辑
摘要:FastAPI(61)- 异步测试 前言 前面讲解了通过 pytest 进行单元测试,是针对同步函数的:https://www.cnblogs.com/poloyy/p/15354901.html 但它无法再 pytest 中测试或运行任何异步函数 能够在测试中使用异步函数可能很有用 例如,当异步查 阅读全文
posted @ 2022-01-06 14:29 小学弟- 阅读(217) 评论(0) 推荐(0) 编辑
摘要:FastAPI(59)- 详解使用 OAuth2PasswordBearer + JWT 认证 JWT JSON Web Tokens 它是一个将 JSON 对象编码为密集且没有空格的长字符串的标准 使用 JWT token 和安全密码 hash 使应用程序真正安全 JWT 小栗子 eyJhbGci 阅读全文
posted @ 2022-01-06 14:28 小学弟- 阅读(839) 评论(0) 推荐(1) 编辑
摘要:FastAPI(60)- 针对 WebSocket 进行单元测试 前言 还是比较简单的,直接写代码啦 FastAPI 的单元测试:https://www.cnblogs.com/poloyy/p/15354901.html 直接上代码 #!usr/bin/env python # -*- codin 阅读全文
posted @ 2022-01-06 14:28 小学弟- 阅读(236) 评论(0) 推荐(0) 编辑
摘要:FastAPI(58)- 使用 OAuth2PasswordBearer 的简单栗子 背景 假设在某个域中拥有后端 API(127.0.0.1:8080) 并且在另一个域或同一域的不同路径(或移动应用程序)中有一个前端(127.0.0.1:8081) 并且希望有一种方法让前端使用用户名和密码与后端进 阅读全文
posted @ 2022-01-06 14:27 小学弟- 阅读(256) 评论(0) 推荐(0) 编辑
摘要:FastAPI(57)- 安全相关的概念 OAuth2 OAuth2 是一个规范,它定义了几种处理身份验证和授权的方法 这是一个相当广泛的规范,涵盖了几个复杂的用例 它包括使用“第三方”进行身份验证的方法 比如在抖音通过微信、QQ 登录,底层用的就是 OAuth2 OAuth1 OAuth 1,它与 阅读全文
posted @ 2022-01-06 13:44 小学弟- 阅读(63) 评论(0) 推荐(0) 编辑
摘要:FastAPI(56)- 使用 Websocket 打造一个迷你聊天室 背景 在实际项目中,可能会通过前端框架使用 WebSocket 和后端进行通信 这里就来详细讲解下 FastAPI 是如何操作 WebSocket 的 模拟 WebSocket 客户端 #!usr/bin/env python 阅读全文
posted @ 2022-01-06 13:41 小学弟- 阅读(423) 评论(1) 推荐(0) 编辑
摘要:FastAPI(55)- Events: startup - shutdown 启动/关闭事件 背景 可以定义需要在应用程序启动之前或应用程序关闭时执行的事件处理程序(函数) 这些函数可以用 async def 或普通 def 注意:只会执行主应用程序的事件处理程序,而不会执行子应用程序 实际代码 阅读全文
posted @ 2022-01-06 13:37 小学弟- 阅读(145) 评论(0) 推荐(0) 编辑
摘要:FastAPI(54)- 详解 Request 请求对象 背景 前面讲了可以自定义 Response,那么这里就讲下请求对象 Request 可以通过 Request 来获取一些数据 获取请求基础信息 @app.get("/base") async def get_base(*, request: 阅读全文
posted @ 2022-01-06 13:35 小学弟- 阅读(303) 评论(0) 推荐(0) 编辑
摘要:FastAPI(53)- Response Headers 响应设置 Headers 前言 前面讲过如何获取 Headers:https://www.cnblogs.com/poloyy/p/15316932.html 也顺带提了下如何设置 Response Header,还是比较简单的 有两种实现 阅读全文
posted @ 2022-01-06 12:20 小学弟- 阅读(203) 评论(0) 推荐(0) 编辑
摘要:FastAPI(52)- Response Cookies 响应设置 Cookies 前言 前面讲过如何获取 Cookies:https://www.cnblogs.com/poloyy/p/15316660.html 也顺带提了下如何设置 Response Cookie,还是比较简单的 有两种实现 阅读全文
posted @ 2022-01-06 12:19 小学弟- 阅读(293) 评论(0) 推荐(0) 编辑
摘要:FastAPI(50)- 自定义响应之 RedirectResponse 更多自定义响应类型 JSONResponse ORJSONResponse、UJSONResponse HTMLResponse、PlainTextResponse StreamingResponse、FileResponse 阅读全文
posted @ 2022-01-06 12:17 小学弟- 阅读(176) 评论(0) 推荐(0) 编辑
摘要:FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse 更多自定义响应类型 JSONResponse HTMLResponse、PlainTextResponse ORJSONResponse、UJSONResponse RedirectResponse 阅读全文
posted @ 2022-01-06 12:17 小学弟- 阅读(670) 评论(0) 推荐(0) 编辑
摘要:FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse 背景 上一篇文章讲了通过 Response 自定义响应,但有一个缺点 如果直接返回一个 Response,数据不会自动转换,也不会显示在文档中 这一节开始讲自定义响应 会讲解多个响应类型 JSONR 阅读全文
posted @ 2022-01-06 12:16 小学弟- 阅读(246) 评论(0) 推荐(0) 编辑
摘要:FastAPI(47)- 通过 Response 自定义响应的类型 假设返回一个 XML 格式的响应 import uvicorn from fastapi import FastAPI, Response app = FastAPI() @app.get("/legacy/") def get_l 阅读全文
posted @ 2022-01-06 12:15 小学弟- 阅读(51) 评论(0) 推荐(0) 编辑
摘要:FastAPI(46)- JSONResponse 背景 创建 FastAPI 路径操作函数时,通常可以从中返回任何数据:字典、列表、Pydantic 模型、数据库模型等 默认情况下,FastAPI 会使用 jsonable_encoder 自动将该返回值转换为 JSON 字符串 然后,FastAP 阅读全文
posted @ 2022-01-06 12:14 小学弟- 阅读(333) 评论(0) 推荐(0) 编辑
摘要:FastAPI(45)- 返回响应数据的五种常见方式 实际代码 默认情况下,路径操作函数可以返回 Python 数据类型、Pydantic Model,FastAPI 会自动将它们转换为和 JSON 兼容的数据 #!usr/bin/env python # -*- coding:utf-8 _*- 阅读全文
posted @ 2022-01-06 12:13 小学弟- 阅读(674) 评论(0) 推荐(0) 编辑
摘要:FastAPI(44)- 操作关系型数据库 ORM FastAPI 可与任何数据库和任何样式的库配合使用并和数据库通信 object-relational mapping 对象关系映射 ORM 具有在代码和数据库表(关系)中的对象之间进行转换(映射)的工具 使用 ORM,通常会创建一个表示 SQL 阅读全文
posted @ 2022-01-06 12:11 小学弟- 阅读(86) 评论(0) 推荐(0) 编辑
摘要:FastAPI(43)- 基于 pytest + requests 进行单元测试 FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + Request 的 阅读全文
posted @ 2022-01-06 12:10 小学弟- 阅读(119) 评论(0) 推荐(0) 编辑
摘要:FastAPI(42)- Static Files 静态资源 安装 aiofiles pip install aiofiles 个人感想 现在都是前后端分离,感觉在 FastAPI 应用程序中直接使用静态资源的可能性不大,只做了解(也不难 使用 StaticFiles 访问静态资源 from fas 阅读全文
posted @ 2022-01-06 12:03 小学弟- 阅读(227) 评论(0) 推荐(0) 编辑
摘要:FastAPI(41)- Background Task 后台任务 后台任务 顾名思义,可以在返回响应后运行后台任务 这对于需要在请求后执行特定的操作很有用,且客户端并不需要在接收响应之前等待该操作完成 常见的栗子 发送电子邮件通知,由于连接到电子邮件服务器并发送电子邮件往往会比较“缓慢”(几秒钟) 阅读全文
posted @ 2022-01-06 10:54 小学弟- 阅读(435) 评论(0) 推荐(0) 编辑
摘要:FastAPI(40)- 大型应用程序的项目拆分 背景 假设要搭建一个测试平台,那么整个项目的 API 数量肯定很多个,他们不可能放在同一个文件中 FastAPI 提供了一个方便的工具来构建应用程序,同时保持所有的灵活性 项目架构 假设结构如下 . ├── app │ ├── __init__.py 阅读全文
posted @ 2022-01-06 10:50 小学弟- 阅读(96) 评论(0) 推荐(0) 编辑
摘要:FastAPI(39)- 使用 CORS 解决跨域问题 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html FastAPI 模拟跨域问题 htt 阅读全文
posted @ 2022-01-06 10:49 小学弟- 阅读(452) 评论(0) 推荐(0) 编辑
摘要:FastAPI(38)- 模拟一个跨域场景 同源策略 https://www.cnblogs.com/poloyy/p/15345184.html CORS https://www.cnblogs.com/poloyy/p/15345871.html 需要先了解什么是同源策略和 CORS 才能更好看 阅读全文
posted @ 2022-01-06 10:48 小学弟- 阅读(59) 评论(0) 推荐(0) 编辑
摘要:FastAPI(37)- Middleware 中间件 什么是中间件 就是一个函数,它在被任何特定路径操作处理之前处理每个请求,且在每个 response 返回之前被调用 类似钩子函数 执行顺序 中间件会接收应用程序中的每个请求 Request 针对请求 Request 或其他功能,可以自定义代码块 阅读全文
posted @ 2022-01-06 10:26 小学弟- 阅读(412) 评论(0) 推荐(0) 编辑
摘要:FastAPI(36)- FastAPI 的元数据配置和文档 URL Metadata 元数据 可以给 API 添加元数据 实际栗子 #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://w 阅读全文
posted @ 2022-01-06 10:12 小学弟- 阅读(75) 评论(0) 推荐(0) 编辑
摘要:FastAPI(35)- 依赖项中使用 yield + Context Manager 上下文管理器 什么是 Context Manager 上下文管理器 在 Python 中,是可以在 with 语句中使用的任何 Python 对象,比如通过 with 来读取文件 with open("./som 阅读全文
posted @ 2022-01-06 09:48 小学弟- 阅读(91) 评论(0) 推荐(0) 编辑
摘要:FastAPI(34)- Dependencies with yield 依赖项中使用 yield 背景 FastAPI 支持在依赖项返回后执行一些额外的步骤 但需要用 yield 代替 return 来达到这一目的 版本要求 为了达到上述效果,需要使用 Python 3.7+ 或者在 Python 阅读全文
posted @ 2022-01-06 09:47 小学弟- 阅读(114) 评论(0) 推荐(0) 编辑
摘要:FastAPI(33)- Global Dependencies 全局依赖 背景 对于某些实际应用场景,希望向整个应用程序添加一个全局依赖项 FastAPI 类的 dependences 参数 dependences 类型指定为 Optional[Sequence[Depends]] Sequenc 阅读全文
posted @ 2022-01-05 13:08 小学弟- 阅读(141) 评论(0) 推荐(0) 编辑
摘要:FastAPI(32)- Dependencies in path operation 通过路径操作装饰器的 dependencies 参数声明依赖 背景 在某些实际场景中,并不需要使用依赖项的返回值,或者依赖项没有返回值,但仍需要执行这个依赖项 针对这种场景,可以向路径操作装饰器的 depende 阅读全文
posted @ 2022-01-05 13:07 小学弟- 阅读(49) 评论(0) 推荐(0) 编辑
摘要:FastAPI(31)- Sub-dependencies 子依赖 子依赖 就是嵌套依赖,和嵌套 Pydantic Model 差不多意思 可以根据需求创建多层嵌套的依赖关系 比如上图,E 依赖 C、D,C、D 又依赖 B,B 又依赖 A..... 两层依赖的栗子 第一层依赖 from typing 阅读全文
posted @ 2022-01-05 13:06 小学弟- 阅读(62) 评论(0) 推荐(0) 编辑
摘要:FastAPI(30)- Classes as Dependencies 类依赖注入 依赖项函数返回 dict 上一篇依赖注入文章中讲的依赖项函数返回值类型是 dict #!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 阅读全文
posted @ 2022-01-05 13:05 小学弟- 阅读(108) 评论(0) 推荐(0) 编辑
摘要:FastAPI(29)- Dependencies 依赖注入的初步使用 FastAPI 的依赖注入 FastAPI 有一个非常强大但直观的依赖注入系统 它被设计为非常易于使用,并且使任何开发人员都可以非常轻松地将其他组件与 FastAPI 集成 什么是依赖注入 在编程中,为保证代码成功运行,先导入或 阅读全文
posted @ 2022-01-05 12:55 小学弟- 阅读(271) 评论(0) 推荐(0) 编辑
摘要:FastAPI(28)- JSON Compatible Encoder 利器之 jsonable_encoder jsonable_encoder 在实际应用场景中,可能需要将数据类型(如:Pydantic 模型)转换为与 JSON 兼容的类型(如:字典、列表) 比如:需要将数据存储在数据库中 为 阅读全文
posted @ 2022-01-05 12:50 小学弟- 阅读(188) 评论(0) 推荐(0) 编辑
摘要:FastAPI(27)- Handling Errors 处理错误 前言 许多情况下,需要向客户端返回一些特定的错误,比如 客户端没有足够的权限进行该操作 客户端无权访问该资源 客户端尝试访问的项目不存在 HTTPException 介绍 要将带有错误的 HTTP 响应(状态码和响应信息)返回给客户 阅读全文
posted @ 2022-01-05 12:46 小学弟- 阅读(76) 评论(0) 推荐(0) 编辑
摘要:FastAPI(25)- File、Form 混合使用 前言 详解 Form 详解 File 路径函数混合使用 Form、File from fastapi import FastAPI, File, Form, UploadFile app = FastAPI() @app.post("/file 阅读全文
posted @ 2022-01-05 12:40 小学弟- 阅读(65) 评论(0) 推荐(0) 编辑
摘要:FastAPI(26)- Path Operation Configuration 路径操作的配置 再次声明下,什么是路径操作 @app.get() @app.post() @app.put() @app.delete() ... 这些就是路径操作 那路径操作的配置,其实就是函数参数 为什么要讲配置 阅读全文
posted @ 2022-01-05 12:39 小学弟- 阅读(63) 评论(0) 推荐(0) 编辑
摘要:FastAPI(24)- 详解 File,上传文件 前言 可以使用 FastAPI 提供的 File 定义客户端要上传的文件 学习 File 前最好先学习 Form:https://www.cnblogs.com/poloyy/p/15311533.html 安装 python-multipart 阅读全文
posted @ 2022-01-05 11:59 小学弟- 阅读(419) 评论(0) 推荐(0) 编辑
摘要:FastAPI(23)- 详解 Form,发送表单数据 前言 form-data 表单格式的请求数据其实也是挺常见的 FastAPI 通过 Form 来声明参数需要接收表单数据 安装 python-multipart 要用 Form,需要先安装这个库 pip install python-multi 阅读全文
posted @ 2022-01-05 11:58 小学弟- 阅读(376) 评论(0) 推荐(0) 编辑
摘要:FastAPI(22)- Pydantic Model 结合 Union、List 的使用场景 前言 有多个模型,且请求/响应需要声明多个模型的时候,可以根据不同使用场景结合 typing 库里面的 Union、List 来达到目的 Union 作用 联合类型,详细教程 使用 Union 时,建议首 阅读全文
posted @ 2022-01-05 11:57 小学弟- 阅读(158) 评论(0) 推荐(0) 编辑
摘要:FastAPI(20)- Response Status Code 响应状态码 前言 和指定响应模型一样,可以在任何路径操作中添加参数 status_code,用于声明响应的 HTTP 状态码 @app.get() @app.post() @app.put() @app.delete() 最简单的栗 阅读全文
posted @ 2022-01-05 11:56 小学弟- 阅读(122) 评论(0) 推荐(0) 编辑
摘要:FastAPI(21)- 多个模型的代码演进 前言 在一个完整的应用程序中,通常会有很多个相关模型,比如 请求模型需要有 password 响应模型不应该有 password 数据库模型可能需要一个 hash 加密过的 password 多个模型的栗子 需求 注册功能 请求输入密码 响应不需要输出密 阅读全文
posted @ 2022-01-05 11:56 小学弟- 阅读(39) 评论(0) 推荐(0) 编辑
摘要:FastAPI(19)- Response Model 响应模型 前言 前面文章写的这么多路径函数最终 return 的都是自定义结构的字典 FastAPI 提供了 response_model 参数,声明 return 响应体的模型 什么是路径操作、路径函数 # 路径操作 @app.post("/ 阅读全文
posted @ 2022-01-05 11:55 小学弟- 阅读(182) 评论(0) 推荐(0) 编辑
摘要:FastAPI(18)- 详解 Header,获取请求头 查看一个接口的 Header 进到某个网站,右键检查元素;或者直接 F12 找到 Network,选择一个请求,就能看到 Request Header、Response Header 啦 FastAPI 提供的 Header Header 是 阅读全文
posted @ 2022-01-05 11:54 小学弟- 阅读(525) 评论(0) 推荐(0) 编辑
摘要:FastAPI(16)- 额外的数据类型 常见的数据类型 int float str bool 但 FastAPI 支持使用更复杂的数据类型 仍然能得到 FastAPI 的支持 IDE 智能提示 请求数据的数据类型转换 响应数据的数据类型转换 数据验证 自动注释和文档 复杂的数据类型 UUID 常见 阅读全文
posted @ 2022-01-05 11:53 小学弟- 阅读(55) 评论(0) 推荐(0) 编辑
摘要:FastAPI(17)- 详解 Cookie,获取 Cookies 查看一个网站的 Cookies 进到某个网站,右键检查元素;或者直接 F12 找到 Application-Cookies 就能看到啦 FastAPI 提供的 Cookie Cookie 是 Path 和 Query 的“姐妹”类 阅读全文
posted @ 2022-01-05 11:53 小学弟- 阅读(89) 评论(0) 推荐(0) 编辑
摘要:FastAPI(15)- 声明请求示例数据 前言 FastAPI 可以给 Pydantic Model 或者路径函数声明需要接收的请求示例,而且可以显示在 OpenAPI 文档上 有几种方式,接下来会详细介绍 Pydantic 的 schema_extra 可以使用 Config cass 和 sc 阅读全文
posted @ 2022-01-05 11:51 小学弟- 阅读(70) 评论(0) 推荐(0) 编辑
摘要:FastAPI(14)- 路径操作函数参数的类型是一个嵌套 Pydantic Model 的使用场景 带有类型参数的字段 Python 有一种特定的方法来声明具有内部类型或类型参数的列表 其实前面都见过,就是 List[str] Set[str] Tuple[str] Dict[str, int] 阅读全文
posted @ 2022-01-05 11:50 小学弟- 阅读(55) 评论(0) 推荐(0) 编辑
摘要:FastAPI(12)- 重名 Pydantic Model 会导致 OpenAPI 报错 背景 在一个 Python 模块中,如果包含两个同名的 Pydantic Model,访问 /docs 会报错哦 from typing import Optional import uvicorn from 阅读全文
posted @ 2022-01-05 11:49 小学弟- 阅读(73) 评论(0) 推荐(0) 编辑
摘要:FastAPI(13)- 详解 Fields,针对 Pydantic Model 内部字段添加额外校验和元数据 前言 前面讲了 Query、Path、Body,均可以对某个字段进行额外的校验和添加元数据 这一篇来讲 Fields,它针对 Pydantic Model 内部字段进行额外的校验和添加元数 阅读全文
posted @ 2022-01-05 11:49 小学弟- 阅读(81) 评论(0) 推荐(0) 编辑
摘要:FastAPI(11)- 函数参数类型是列表,但不使用 typing 中的 List,而使用 list,会怎么样? 使用 typing 中的 List、Set、Tuple 的栗子 from typing import Optional import uvicorn from fastapi impo 阅读全文
posted @ 2022-01-05 11:47 小学弟- 阅读(108) 评论(0) 推荐(0) 编辑
摘要:FastAPI(10)- 详解 Body 前言 上一篇有讲到将参数类型指定为 Pydantic Model,这样 FastAPI 会解析它为一个 Request Body 那单类型(int、float、str、bool...)参数可以成为 Request Body 的一部分吗?答案是可以的 通过 B 阅读全文
posted @ 2022-01-05 11:46 小学弟- 阅读(242) 评论(0) 推荐(0) 编辑
摘要:FastAPI(7)- 详解 Path 前言 上一篇讲了可以为查询参数添加额外的校验和元数据,Query 库 这篇讲可以为路径查询添加额外的校验和元数据,Path 库 Path 可以为路径参数添加额外的校验和元数据,跟 Query 的参数是一毛一样的 元数据 Path 也可以添加元数据相关信息,这些 阅读全文
posted @ 2022-01-05 11:45 小学弟- 阅读(110) 评论(0) 推荐(0) 编辑
摘要:FastAPI(9)- 多个 Request Body Path、Query、Request Body 混合使用 from fastapi import FastAPI, Path, Query from typing import Optional from pydantic import Bas 阅读全文
posted @ 2022-01-05 11:45 小学弟- 阅读(152) 评论(0) 推荐(0) 编辑
摘要:FastAPI(8)- 请求体 Request Body 前言 接口传参方式之一:通过发送请求体(Request Body)来传递请求数据 在 FastAPI,提倡使用 Pydantic 模型来定义请求体 这篇文章会详细讲不使用 Pydantic 和 使用 Pydantic 发送请求体的栗子 注意 阅读全文
posted @ 2022-01-05 11:43 小学弟- 阅读(269) 评论(0) 推荐(0) 编辑
摘要:FastAPI(6)- 详解 Query 可选参数 上一篇文章讲过查询参数可以不是必传的,可以是可选参数 from fastapi import FastAPI from typing import Optional import uvicorn app = FastAPI() # 必传参数+可选参 阅读全文
posted @ 2022-01-05 11:42 小学弟- 阅读(177) 评论(0) 推荐(0) 编辑
摘要:FastAPI(5)- 查询参数 Query Parameters 什么是查询参数? http://127.0.0.1:8000/get?name=xxx&age=18 http://127.0.0.1:8000/get?age=18&name=xxx 在 url 的 ? 后面跟着的一组或多组键值对 阅读全文
posted @ 2022-01-05 11:40 小学弟- 阅读(118) 评论(0) 推荐(0) 编辑
摘要:FastAPI(4)- 路径参数 Path Parameters 什么是路径 假设一个 url 是: http://127.0.0.1:8080/items/abcd 那么路径 path 就是 /items/abcd 路径参数 就是将路径上的某一部分变成参数,可通过请求传递,然后 FastAPI 解 阅读全文
posted @ 2022-01-05 11:39 小学弟- 阅读(118) 评论(0) 推荐(0) 编辑
摘要:FastAPI(3)- uvicorn.run() Uvicorn 基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器 它不是一个 Web 框架,而是一个服务器 例如,它不是一个提供路径路由的框架,这是 FastAPI 框架提供的东西 它是 Starlette 和 Fas 阅读全文
posted @ 2022-01-05 11:38 小学弟- 阅读(693) 评论(0) 推荐(0) 编辑
摘要:FastAPI(2)- 快速入门 安装 FastAPI pip install fastapi # 将来需要将应用程序部署到生产环境可以安装 uvicorn 作为服务器 pip install uvicorn 最简单的代码栗子 from fastapi import FastAPI app = Fa 阅读全文
posted @ 2022-01-05 11:36 小学弟- 阅读(77) 评论(0) 推荐(0) 编辑
摘要:协程 & asyncio & 异步编程 越来越多的学生都来问async异步相关问题,并且这一部分的知识点不太容易学习(异步非阻塞、asyncio) 异步相关话题和框架越来越多,例如:tornado、fastapi、django 3.x asgi 、aiohttp都在异步 -> 提升性能。 如何讲解? 阅读全文
posted @ 2022-01-05 10:09 小学弟- 阅读(132) 评论(0) 推荐(0) 编辑
摘要:FastAPI(1)- 简单介绍 前言 为啥要学它呢,因为学 Flask 的时候发现有人更推荐它代替 Flask,看了下介绍,感觉很强,而且也能拿来做平台,当然学起来!卷起来! 为什么要使用 FastAPI ? 日渐没落的是后端 HTML 渲染这种方式,比如 Flask + Jinja2 前后端分离 阅读全文
posted @ 2022-01-02 17:50 小学弟- 阅读(244) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示