当前位置: 首页 > wzjs >正文

重庆企业网站定制微信网站建设多少钱

重庆企业网站定制,微信网站建设多少钱,在线做热图的网站,成都学生做网站FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6+。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的 FastAPI 应用的各个步骤。

一、前置准备

在开始之前,请确保你已经安装了 Python 3.7+(推荐 3.7+ 以获得更好的类型提示支持)和一个代码编辑器(如 VS Code 或 PyCharm)。强烈建议使用虚拟环境来隔离项目依赖。

创建虚拟环境

python -m venv .venv

激活虚拟环境

  • macOS/Linux:
  source .venv/bin/activate
  • Windows:
  .venv\Scripts\activate

激活虚拟环境后,终端提示符前会显示虚拟环境的名称(通常是 .venv)。

二、安装 FastAPI 和 ASGI 服务器

FastAPI 本身是一个框架,需要一个 ASGI 服务器来运行它。常用的 ASGI 服务器有 Uvicorn 和 Hypercorn。我们通常选择 Uvicorn,因为它高性能且易于使用。

pip install fastapi uvicorn[standard]
  • fastapi:安装 FastAPI 框架本身。
  • uvicorn[standard]:安装 Uvicorn ASGI 服务器,[standard] 选项会安装一些常用的可选依赖。

三、创建第一个 FastAPI 应用

创建一个名为 main.py 的文件,并输入以下代码:

from fastapi import FastAPIapp = FastAPI()@app.get("/")
async def read_root():return {"Hello": "World"}

运行应用

打开终端,进入到 main.py 文件所在的目录,并确保虚拟环境已激活。然后运行 Uvicorn:

uvicorn main:app --reload
  • main:指代 main.py 文件(模块)。
  • app:指代在 main.py 文件中创建的 FastAPI() 实例对象。
  • --reload:开启热重载模式。当你修改代码并保存后,Uvicorn 会自动重启服务器,方便开发调试。

运行成功后,你将看到类似以下的输出:

INFO:     Will watch for changes in these directories: ['/path/to/your/project']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [PID]
INFO:     Started server running on http://127.0.0.1:8000

现在,打开浏览器访问 http://127.0.0.1:8000,你会看到 JSON 响应:{"Hello": "World"}

四、自动生成的 API 文档

FastAPI 最酷的特性之一是自动生成 API 文档。在服务器运行状态下,访问以下地址:

  • Swagger UI:http://127.0.0.1:8000/docs
  • ReDoc:http://127.0.0.1:8000/redoc

你会看到交互式的 API 文档界面,可以直接在里面测试你的 API 端点。

五、处理路径参数和查询参数

路径参数

@app.get("/items/{item_id}")
async def read_item(item_id: int):return {"item_id": item_id}

访问 http://127.0.0.1:8000/items/5,你会看到:{"item_id": 5}

查询参数

@app.get("/items/")
async def read_items(skip: int = 0, limit: int = 10):return {"skip": skip, "limit": limit}

访问 http://127.0.0.1:8000/items/?skip=0&limit=10,你会看到:{"skip": 0, "limit": 10}

六、定义请求体

使用 Pydantic 定义请求体模型:

from pydantic import BaseModelclass Item(BaseModel):name: strdescription: str = Noneprice: floattax: float = None

定义一个 POST 请求,接收一个 Item 对象作为请求体:

@app.post("/items/")
async def create_item(item: Item):return item

FastAPI 会自动将请求体(通常是 JSON)解析并验证。如果数据格式或类型不匹配 Item 模型,FastAPI 会返回 422 Unprocessable Entity 错误。

七、依赖注入

使用 Depends 添加依赖注入:

from fastapi import Dependsdef get_common_parameters(q: str = None, skip: int = 0, limit: int = 10):return {"q": q, "skip": skip, "limit": limit}@app.get("/items_with_dependency/")
async def read_items_with_dependency(commons: dict = Depends(get_common_parameters)):return commons

Depends 告诉 FastAPI,路径操作函数需要一个依赖,这个依赖可以通过调用 get_common_parameters 函数来获取。

八、下一步学习建议

  1. 实践:尝试基于本教程的例子,自己写一些带有不同路径、查询参数、请求体和响应模型的 API。
  2. 官方文档:FastAPI 的官方文档(https://fastapi.tiangolo.com/zh/,有中文版)非常详细和全面,是深入学习的最佳资源。
  3. 构建更复杂的应用:学习如何使用 APIRouter 组织代码,如何集成数据库(如 SQLAlchemy 或 ORM),如何实现用户认证等。

希望本教程能帮助你快速上手 FastAPI,并感受到它的强大魅力!


文章转载自:

http://RL1oVbYK.cLxpp.cn
http://ZCxUYyZb.cLxpp.cn
http://jcu1O4AH.cLxpp.cn
http://HPRqoesd.cLxpp.cn
http://uqKu5sle.cLxpp.cn
http://QzNp75LE.cLxpp.cn
http://KTQIfK6Y.cLxpp.cn
http://y124zjBz.cLxpp.cn
http://SgyNIdhF.cLxpp.cn
http://Ts9I8chl.cLxpp.cn
http://SdqE4uOV.cLxpp.cn
http://n9T4xWMz.cLxpp.cn
http://EL2wfYGj.cLxpp.cn
http://1UwK80C5.cLxpp.cn
http://0c5W8wxO.cLxpp.cn
http://KfzfVvkO.cLxpp.cn
http://JmV7krcF.cLxpp.cn
http://bmhTrA1F.cLxpp.cn
http://9e95pb1c.cLxpp.cn
http://jPMp1aOJ.cLxpp.cn
http://lwO43blA.cLxpp.cn
http://27cA5Qmj.cLxpp.cn
http://5iLrH4WH.cLxpp.cn
http://okAh8ydU.cLxpp.cn
http://GoBd23X8.cLxpp.cn
http://tevv8boH.cLxpp.cn
http://hHrgQnyu.cLxpp.cn
http://QqTva4yp.cLxpp.cn
http://d5MOI2rG.cLxpp.cn
http://2NLi9FBn.cLxpp.cn
http://www.dtcms.com/wzjs/649528.html

相关文章:

  • 网站静态化对seo山西古建筑网站
  • 南通营销网站制作专做正品的护肤品网站
  • 沈阳做网站的公司排行如何导入旧网站数据库
  • 企业网站备案座机号wordpress表单提交 阿里云邮箱
  • 北京私人做网站asp网站例子
  • 东莞网站建设流程图枣庄网站建设公司
  • 建设网站app做外贸网站需要多少钱
  • 石家庄高铁站做设计拍摄的网站平台
  • 网站做二级域名网页功能介绍
  • windows做网站服务器吗郑州建设银行网站
  • 在线音乐网站模板网页设计实验报告结果
  • 做网站有什么软件官方网站建设 搜搜磐石网络
  • 企业网站建设专业的公司成都淘宝网站建设
  • 全面的基础微网站开发做网站设计难吗
  • 3000ok新开传奇网站有了域名后怎么做网站
  • 房产集团网站建设seo关键词排名查询
  • 之路网站建设昌大建设三公司
  • 专业网站建设包括哪些wordpress文章摘要显示
  • 怎么快速提升网站权重网站开发+搜索
  • 旅行社网站建设策划书网站做权重有用吗
  • 学东西的网站湖南竞网做网站好吗
  • 网站开发与服务器交互地方门户网站赚钱
  • 做网站怎样上传文件wordpress侧栏导航栏
  • 百度如何把网站做链接网络营销成功的案例有哪些
  • 水处理网站源码广州宣布5条优化措施
  • 网站建设的需求分析报告wordpress开启cdn无法ip
  • 服装网站建设项目规划书北京做网站的大公司
  • 无锡画室网站建设网站建设攸县
  • 哪个企业的网站做的比较好网站建设一般需要什么功能
  • 北京通州网站建设公司网站建设兼职