FastAPI 配合 .env 文件使用笔记
步骤
-
安装 python-dotenv
pip install python-dotenv
-
创建 .env 文件
在项目根目录下创建.env
文件,并添加环境变量:DATABASE_URL=postgresql://user:password@localhost:5432/mydatabase SECRET_KEY=mysecretkey
-
加载 .env 文件
在 FastAPI 项目的入口文件(如main.py
)中加载环境变量:from fastapi import FastAPI from dotenv import load_dotenv import os load_dotenv() app = FastAPI() DATABASE_URL = os.getenv("DATABASE_URL") SECRET_KEY = os.getenv("SECRET_KEY") @app.get("/") def read_root(): return { "database_url": DATABASE_URL, "secret_key": SECRET_KEY }
-
使用环境变量
通过os.getenv
获取环境变量,或结合 Pydantic 管理。 -
推荐:使用 Pydantic Settings
安装 Pydantic:pip install pydantic
定义配置类:
from pydantic import BaseSettings class Settings(BaseSettings): database_url: str secret_key: str class Config: env_file = ".env" settings = Settings() @app.get("/config") def get_config(): return { "database_url": settings.database_url, "secret_key": settings.secret_key }
总结
.env
文件用于存储环境变量,避免敏感信息硬编码。- 使用
python-dotenv
加载.env
文件中的变量。 - 推荐使用 Pydantic 的
BaseSettings
来优雅管理配置。