首頁 > 後端開發 > 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板