- 2024-11-17三周精通FastAPI:42 手动运行服务器 - Uvicorn & Gunicorn with Uvicorn
官方文档:ServerWorkers-GunicornwithUvicorn-FastAPI使用 fastapi运行命令¶可以直接使用fastapirun命令来启动FastAPI应用:fastapirunmain.py如创建openapi.py文件:fromfastapiimportFastAPIapp=FastAPI(openapi_url="/api/v1/openapi.json")@app.g
- 2024-11-17三周精通FastAPI:41 部署:FastAPI版本和HTTPS概念
官方文档:https://fastapi.tiangolo.com/zh/deployment/versions/关于FastAPI版本¶FastAPI 已在许多应用程序和系统的生产环境中使用。并且测试覆盖率保持在100%。但其开发进度仍在快速推进。经常添加新功能,定期修复错误,并且代码仍在持续改进。这就是为什么当前版本仍
- 2024-11-17三周精通FastAPI:39 用FastAPI CLI命令行程序管理FastAPI项目
官方文档:https://fastapi.tiangolo.com/zh/fastapi-cli/FastAPICLI¶FastAPICLI 是一个命令行程序,你可以用它来部署和运行你的FastAPI应用程序,管理你的FastAPI项目,等等。当你安装FastAPI时(例如使用 pipinstallFastAPI 命令),会包含一个名为 fastapi-cli的软件包
- 2024-11-14【FastAPI】解决下载文件预处理时间较长的问题:FastAPI 实现异步任务处理
解决下载文件预处理时间较长的问题:FastAPI实现异步任务处理在开发Web应用时,我们经常会遇到需要对文件进行预处理的场景。例如,用户请求下载一个文件之前,需要进行压缩、转换或者数据处理等操作。然而,这些预处理任务往往会花费较长时间,如果我们在后端直接处理这些任务,会导
- 2024-11-13Fastapi使用redis
异步版本rediss.pyfromfastapiimportFastAPI,Depends,APIRouterimportredis.asyncioasaioredisimportuvicornfromcontextlibimportasynccontextmanagerapp=FastAPI()#Redis连接池配置REDIS_URL="redis://192.168.252.128:6379/0"@asyncconte
- 2024-11-08三周精通FastAPI:36 OpenAPI 回调
官方文档:OpenAPI回调¶您可以创建触发外部API请求的路径操作 API,这个外部API可以是别人创建的,也可以是由您自己创建的。API应用调用外部API时的流程叫做回调。因为外部开发者编写的软件发送请求至您的API,然后您的API要进行回调,并把请求发送至外部API。此时,我
- 2024-11-08三周精通FastAPI:37 包含 WSGI - Flask,Django,Pyramid 以及其它
官方文档:https://fastapi.tiangolo.com/zh/advanced/wsgi/包含WSGI-Flask,Django,其它¶您可以挂载多个WSGI应用,正如您在 SubApplications-Mounts, BehindaProxy 中所看到的那样。为此,您可以使用 WSGIMiddleware 来包装你的WSGI应用,如:Flask,Django,等等。使
- 2024-11-08FastAPI 查询参数与字符串校验详解:类型、校验规则与元数据设置
FastAPI查询参数与字符串校验详解:类型、校验规则与元数据设置本文详细介绍了FastAPI中查询参数的设置与校验方法,涵盖了可选参数、默认值、必要参数和参数列表的处理方式。通过使用Query类,开发者可以为查询参数添加额外的校验规则,如最小长度、最大长度、正则表达式匹配
- 2024-11-053.fastapi的路由分发include_router
1.main文件中添加prefix指定参数,urls中不添加路由前缀的效果2.main文件中添加prefix指定参数,urls中添加路由前缀的效果3.购物中心接口运行结果_get请求_food4.购物中心接口运行结果_get请求_bed5.用户中心接口运行结果_post请求_login6.用户中心接口运行结果_post请求_reg
- 2024-11-051.fastapi的quickstart
1.fastapi的quickstart_接口案例2.fastapi的quickstart_运行项目的启动方式3.fastapi的quickstart_打开FastAPI测试网址,点击Tryitout4.fastapi的quickstart_打开FastAPI测试网址,点击Execute5.fastapi的quickstart_打开FastAPI测试网址,接口的运行结果
- 2024-11-04三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件
官方文档:静态文件-FastAPI静态文件¶您可以使用 StaticFiles从目录中自动提供静态文件。使用StaticFiles¶导入StaticFiles。"挂载"(Mount)一个 StaticFiles() 实例到一个指定路径。fromfastapiimportFastAPIfromfastapi.staticfilesimportStaticFilesapp
- 2024-11-03FastAPI 路径参数详解:动态路径与数据校验的灵活实现
FastAPI路径参数详解:动态路径与数据校验的灵活实现本文全面介绍了在FastAPI中使用路径参数的技巧和实现方式。路径参数允许API动态响应不同路径中的请求信息,结合URL(UniformResourceLocator)和URI(UniformResourceIdentifier)进行资源定位和标识。URL是指资源的完
- 2024-11-03三周精通FastAPI:19 Body - Updates 请求体 - 更新数据
官网文档:https://fastapi.tiangolo.com/zh/tutorial/body-updates/请求体-更新数据¶用 PUT 更新数据¶更新数据请用 HTTP PUT 操作。把输入数据转换为以JSON格式存储的数据(比如,使用NoSQL数据库时),可以使用 jsonable_encoder。例如,把 datetime 转换为 str。
- 2024-11-03三周精通FastAPI:20 Dependencies 依赖项 和类作为依赖项
官方文档:依赖项-FastAPI依赖项¶FastAPI提供了简单易用,但功能强大的依赖注入系统。这个依赖系统设计的简单易用,可以让开发人员轻松地把组件集成至 FastAPI。什么是「依赖注入」¶编程中的「依赖注入」是声明代码(本文中为路径操作函数 )运行所需的,或要使用的「依赖」
- 2024-11-01三周精通FastAPI:27 使用使用SQLModel操作SQL (关系型) 数据库
官网文档:https://fastapi.tiangolo.com/zh/tutorial/sql-databases/SQL(关系型)数据库¶FastAPI不需要你使用SQL(关系型)数据库。但是您可以使用任何您想要的关系型数据库。这里我们将看到一个使用SQLModel的示例。SQLModel是在SQLAlchemy和Pydantic的基础上构建的。它
- 2024-11-01深入解析 FastAPI 查询参数:配置、类型转换与灵活组合
深入解析FastAPI查询参数:配置、类型转换与灵活组合本文全面解析了FastAPI查询参数的使用方法,包括配置默认值、设为可选或必选参数、类型转换以及组合使用等实用技巧。通过查询参数,开发者可以在路径操作函数中接收动态输入,灵活地构建API接口。文章详细说明了如何利用
- 2024-10-31使用FastAPI整合Gradio和Django
大家好,我是每天分享AI应用的萤火君!经常接触机器学习的同学可能都接触过Gradio这个框架,Gradio是一个基于Python的专门为机器学习项目创建的快速开发框架,可以让开发者快速发布自己的模型给用户测试,目前Huggingface上的机器学习项目都是基于Gradio对外提供服务的。不过Gradio的目
- 2024-10-27三周精通FastAPI:17 Path Operation Configuration路径操作配置
路径操作配置¶路径操作装饰器支持多种配置参数。"警告"注意:以下参数应直接传递给路径操作装饰器,不能传递给路径操作函数。status_code 状态码¶status_code 用于定义路径操作响应中的HTTP状态码。可以直接传递 int 代码,比如 404。如果记不住数字码的涵义,也可
- 2024-10-27轻松构建高效 API:FastAPI 的主要特点与实战应用20241027
轻松构建高效API:FastAPI的主要特点与实战应用引言在现代应用开发中,API的高效性和易用性至关重要。FastAPI作为一个新兴的Python框架,以其独特的设计理念和强大的功能迅速赢得了开发者的青睐。本文将从FastAPI的主要特点出发,探讨其在实际应用中的优势与最佳实践,帮助
- 2024-10-26三周精通FastAPI:14 表单数据和表单模型Form Models
官网文档:表单数据-FastAPI表单数据¶接收的不是JSON,而是表单字段时,要使用 Form表单。fromfastapiimportFastAPI,Formapp=FastAPI()@app.post("/login/")asyncdeflogin(username:str=Form(),password:str=Form()):return{"username":user
- 2024-10-26三周精通FastAPI:8 请求体 - 多个参数、字段、嵌套模型
本节内容对应FastAPI手册的三节,分别是请求体-多个参数,请求体-字段和请求体-嵌套模型。手册: https://fastapi.tiangolo.com/zh/tutorial/body-multiple-params/源代码示例是python3.10及以上版本。请求体-多个参数¶既然我们已经知道了如何使用 Path 和 Query,下面让
- 2024-10-26三周精通FastAPI:10 Cookie 参数 和Cookie 参数模型
官方文档:Cookie参数-FastAPICookie参数¶定义 Cookie 参数与定义 Query 和 Path 参数一样。源码:fromtypingimportAnnotatedfromfastapiimportCookie,FastAPIapp=FastAPI()@app.get("/items/")asyncdefread_items(ads_id:Annotated[str|Non
- 2024-10-23【FastAPI】线上部署
1.编写代码并且上传到线上仓库https://gitee.com/xiao-wenliang/fastapi_demo.git2.根目录下,data文件夹下克隆项目3.创建虚拟环境并且下载第三方模块3.1:创建虚拟环境3.2:下载第三方模块3.3:安装pipinstallgunicornvirtualenv/envs/fastapi_demo--pyt
- 2024-10-22三周精通FastAPI:6 路径参数和数值校验
路径参数和数值校验¶与使用 Query 为查询参数声明更多的校验和元数据的方式相同,你也可以使用 Path 为路径参数声明相同类型的校验和元数据。导入路径Path¶首先,从 fastapi 导入 Path:fromtypingimportAnnotatedfromfastapiimportFastAPI,Path,Querya
- 2024-10-22三周精通FastAPI:7 查询参数模型
查询参数模型如果你有一组相关的查询参数,你可以创建一个Pydantic模型来声明它们。这将允许您在多个地方重用模型,并一次声明所有参数的验证和元数据。