Aikace-aikacen FastAPI suna sarrafa dangane da pydantic-settings (BaseSettings) — ajiya wanda ke karanta daidaitawa daga masu dodowar muhalli (da fayiloli .env) tare da , kiyaye asirissa daga lambar da tabbatar da daidaitawa daidai a farawa.
Aikace-aikacen FastAPI suna sarrafa dangane da pydantic-settings (BaseSettings) — ajiya wanda ke karanta daidaitawa daga masu dodowar muhalli (da fayiloli .env) tare da , kiyaye asirissa daga lambar da tabbatar da daidaitawa daidai a farawa.
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
app_name: str = "My API"
database_url: str # required — must be provided
secret_key: str # required (a secret)
debug: bool = False
max_connections: int = 10
class Config:
env_file = ".env" # also read from a .env file
settings = Settings() # reads & VALIDATES env vars at startup
BaseSettings ya karanta ba zane-zane kowane filin daga masu dodowar muhalli ta dace (misali DATABASE_URL), juyaya nau'in ("true" → bool, "10" → int), da tabbatar — wajen bukatu bai dace ba ko jiya rashin daidai ya kada a farawa tare da bayani mai faɗi (fail-fast).
from functools import lru_cache
from fastapi import Depends
@lru_cache # create the Settings once (cached)
def get_settings():
return Settings()
@app.get("/info")
def info(settings: Settings = Depends(get_settings)):
return {"app": settings.app_name, "debug": settings.debug}
Shira saitunan ta hanyar dogaro mai ma'ajiya ya sanya su a iya ture (murfi a cikin gwaje) da tabbatar da akwai kakar ɗaya kawai.
# .env — local config, GITIGNORED (never commit secrets)
DATABASE_URL=postgresql://localhost/mydb
SECRET_KEY=dev-secret
DEBUG=true
✓ Keep secrets in env vars / .env (gitignored); commit a .env.example documenting keys
✓ In production, inject config via the platform's environment / secret manager
✓ Validation at startup catches misconfiguration immediately (not deep in a request)
Adaidaicin daidaitawa na da asali ne bukatar aiki (aikace-aikace suna bukami da daidaita daban-daban a kan dev/staging/production) da bukatar tsare (asirissa kamar URL bayanan taru da maɓallɓa dole kada a shiryar su cikin tushen isar da saiti — kaikaice, bugi na tsare).
Pydantic's BaseSettings ya samar da asalun FastAPI, kuma gane shi abin muhimmanchi ne ta yau-yau.
Baban da ake anfani: karanta daidaitawa daga masu dodowar muhalli (kiyaye asirissa daga lambar, tsarin hamsin-factor) tare da juyawa jiya da tabbatarwa ta atomatik — saboda haka daidaita makali ya sama saikin farawa tare da bayanin mai faɗi maimakon rashin daidai na ruwan lokaci da ke bata.
Tare da shiryar dogaro (sanya saitunan a iya ture da singleton) da allon fayiloli .env masu waltewar git don haɓaka gida, yan da cikakken daidaitawa na aminci, babbattanya, da jiya-dace.
Knows how to bayyana saitunan, amfani da su ta hanyar DI, da kula da asirissa ta nagarta abin mahimmanci ne don gina aikace-aikacen FastAPI da aka shirya ga aiki.