首页 > 后端开发 > Python教程 > uv 中的 Python FastAPI 快速入门

uv 中的 Python FastAPI 快速入门

DDD
发布: 2025-01-14 12:12:43
原创
421 人浏览过

Python FastAPI quickstart in uv

使用 uv 快速搭建 FastAPI 应用

以下步骤演示如何使用 uv 工具快速创建一个包含 GET 和 POST 请求的简单 FastAPI 应用:

  1. 初始化项目:

    <code class="language-bash">uv init
    uv add fastapi --extra standard</code>
    登录后复制
  2. 创建项目目录和文件:

    创建一个名为 /app 的文件夹,并在其中添加 __init__.pymain.py 两个文件。

  3. 编写 FastAPI 代码 (main.py):

    将以下代码复制到 main.py 文件中:

    <code class="language-python">from typing import Union
    from pydantic import BaseModel
    from fastapi import FastAPI
    from fastapi.middleware.cors import CORSMiddleware
    from datetime import datetime
    
    app = FastAPI()
    
    # 注意:生产环境中不要使用"*",请替换为你的允许域名
    origins = [
        "*",
    ]
    
    app.add_middleware(
        CORSMiddleware,
        allow_origins=origins,
        allow_credentials=True,
        allow_methods=["*"],
        allow_headers=["*"],
    )
    
    class Stuff(BaseModel):
        content: str
    
    @app.get("/")
    def read_root():
        return {"Message": "Hello World! FastAPI is working."}
    
    @app.post("/getdata/")
    async def create_secret(payload: Stuff):
        with open('output_file.txt', 'a') as f:
            now = datetime.now()
            formatted_date = now.strftime("%B %d, %Y at %I:%M %p")
            f.write(formatted_date + ": " + payload.content)
            f.write('\n')
        return payload.content</code>
    登录后复制
  4. 运行 FastAPI 应用:

    <code class="language-bash">uv run fastapi dev</code>
    登录后复制

    这将启动开发服务器。你可以访问 http://127.0.0.1:8000 测试 GET 请求,并使用 POST 请求发送数据到 /getdata/ 端点。

更多 FastAPI 教程,请参考官方文档: https://www.php.cn/link/b446e7f68f7a79f9de9d9f9ee9b764e8

这个例子演示了一个简单的 GET 和 POST API。 /getdata/ 端点将接收 POST 请求中的 content 字段,并将内容追加到 output_file.txt 文件中,并记录时间戳。 *请注意:生产环境中,`origins = [""]` 是不安全的,必须替换为你的允许域名列表。**

以上是uv 中的 Python FastAPI 快速入门的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板