FastAPI 完全可以接入模板引擎来开发传统网站!虽然 FastAPI 以构建高性能 API 著称,但它基于 Starlette 框架,天然支持模板渲染和静态文件托管。 模板引擎选型 引擎 特点 安装命令 Jinja2 语法简洁,广泛…
OAuth2与JWT OAuth2和JWT是两种常用于身份验证与授权的技术,但它们的核心目标和应用场景不同。 本质区别 特性 OAuth2 JWT 定位 授权框架(定义资源访问的流程) 令牌格式(安全传输信息的标准) 核心目标…
在 FastAPI 中接入中间件(Middleware)非常简单,因为 FastAPI 基于 Starlette 框架,可以直接使用 Starlette 的中间件系统。 中间件基础概念 中间件是 FastAPI 中用于拦截HTTP 请求和响应的组件,它在请求到达…
FastAPI的异步实现基于Python的asyncio库和ASGI(异步服务器网关接口)规范,能够高效处理I/O密集型和高并发请求。 FastAPI异步简介 基础概念 协程(Coroutine):通过async def 定义的函数,返回一个协程对象…
FastAPI 基于 Starlette,而 Starlette 提供了 WebSocket 支持,所以 FastAPI 自然也能处理 WebSocket 连接。 WebSocket 的适用场景 WebSocket 是一种支持全双工通信 的网络协议,适用于需要实时交互 或服务器主…
在先前的文章Python Web 应用的线上部署 中,主要讲解了如何部署 Flask 和 Django,虽然涉及了部分 ASGI 服务器的相关部署知识,但是介绍的非常的简单,今天就针对 FastAPI 应用如何部署到线上服务器进行比较详细的…
FastAPI的自动生成文档功能是其核心特性之一,它基于 OpenAPI(原Swagger)规范,通过代码中的类型提示和模型定义,自动生成交互式API文档。 文档生成的底层原理 FastAPI通过以下步骤生成文档: 收集路由信息:…
FastAPI 与 Starlette 的关系 FastAPI 和 Starlette 是密切相关的 Python Web 框架,理解它们的关系有助于更好地选择和使用工具。 基本定义 Starlette: 轻量级ASGI(Asynchronous Server Gateway Interface…
先前学习FastAPI 路由 的时候已经介绍过依赖注入,但由于篇幅限制并没有梳理的特别详细,这次期望进行一些完整的梳理。 依赖注入简介 FastAPI 的 依赖注入(Dependency Injection) 是一种解耦代码、复用逻辑的核心…
为什么要用等宽字体 等宽字体通过优化对齐、增强可读性、保障兼容性,成为编程场景的“刚需”。其设计特性与代码的结构化、精确性需求高度契合,是提升开发效率和代码质量的重要工具。 对齐与排版优化 等宽字体的核心…