fastapi实战入门——环境变量配置
·
环境变量配置
为什么要设置环境变量
- 分离配置与代码:避免将敏感信息硬编码在代码中
- 多环境支持:轻松切换开发、测试、生产环境
- 安全性提升:保护数据库密码、API密钥等敏感信息
- 可维护性增强:集中管理所有配置项
环境变量配置实战
安装依赖
uv add pydantic-settings python-dotenv
创建配置文件
新建core/config.py文件
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
# 映射 .env 中的变量
DB_HOST: str
DB_USER: str
DB_PASSWORD: str
DB_NAME: str
# 如果 .env 中没有 DB_PORT,可以设置默认值
DB_PORT: int = 3306
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=False, # 允许使用 db_host 或 DB_HOST
)
# 实例化配置对象
settings = Settings()
新建全局.env文件
# 数据库相关配置
DB_HOST=127.0.0.1 #ip地址
DB_USER=root #用户名
DB_PASSWORD=123456#数据库密码
DB_NAME=admin#数据库名
验证环境变量配置成功
在main.py中测试
from fastapi import FastAPI
# 引入配置文件
from core.config import settings
app = FastAPI()
@app.get("/")
async def read_root():
#打印相关配置信息
print(f"Host: {settings.DB_HOST}") # Host: 127.0.0.1
print(f"User: {settings.DB_USER}") # User: root
print(f"Password: {settings.DB_PASSWORD}") # Password: yjqwlb051093
print(f"DB Name: {settings.DB_NAME}") # DB Name: admin
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "q": q}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)