Quản lý cấu hình dự án Python chuyên nghiệp với Pydantic Settings
Thay vì viết cứng giá trị hay sử dụng lặp lại các lệnh `os.getenv()`, hãy tìm hiểu cách dùng thư viện `pydantic-settings` để quản lý file `config.py` tối ưu hơn. Cách tiếp cận này cung cấp tính năng type safety, giá trị mặc định và khả năng ghi đè linh hoạt cho môi trường sản xuất.

Mọi dự án phần mềm thường đều bắt đầu theo một quy trình khá giống nhau. Bạn viết cứng (hardcode) một vài giá trị, rải rác các cuộc gọi os.getenv() trong mã nguồn, và tự nhủ với bản thân: "Mình sẽ dọn dẹp việc này sau."
Nhưng "sau đó" thực sự chẳng bao giờ đến.
Thay vì tiếp tục cách làm thủ công đó, hãy thử áp dụng giải pháp dưới đây ngay lập tức.
Cài đặt thư viện
Đầu tiên, bạn cần cài đặt gói pydantic-settings thông qua pip:
pip install pydantic-settings
Thiết lập file config.py
Dưới đây là cách triển khai một file config.py chuẩn và gọn gàng sử dụng Pydantic:
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
APP_ENV: str = "development"
APP_TITLE: str = "App Title"
APP_VERSION: str = "1.0.0"
FRONTEND_URL: str = "http://localhost:5173"
SECRET_KEY: str
CORS_ORIGINS: list[str] = []
class Config:
env_file = ".env"
env_file_encoding = "utf-8"
case_sensitive = True
extra = "ignore"
settings = Settings()
Tại sao cách tiếp cận này lại hiệu quả?
Phương pháp này mang lại ba lợi ích chính cho nhà phát triển:
- Giá trị mặc định (Defaults): Ứng dụng của bạn có thể chạy ngay lập tức mà không cần cấu hình phức tạp từ đầu.
- Ghi đè từ biến môi trường (Env overrides): Bạn có thể dễ dàng thay đổi cấu hình khi triển khai (deploy) lên môi trường production mà không sợ làm gãy ứng dụng.
- An toàn kiểu dữ liệu (Type safety): Nhờ có định nghĩa kiểu (type hints), bạn sẽ tránh được những lỗi bug khó chịu do dữ liệu không đúng định dạng gây ra trong tương lai.
Cách sử dụng trong dự án
Để sử dụng cấu hình đã thiết lập, bạn chỉ cần nhập module và gọi đối tượng settings:
import config.settings
print(settings.APP_ENV)
Xong. Đơn giản và chuyên nghiệp.
Bài viết liên quan

Công nghệ
CEO Palantir: 10% thế giới "ghét chúng tôi một cách chuyên nghiệp"
05 tháng 5, 2026

Phần mềm
Chính phủ Mỹ yêu cầu Instructure giải trình về sự cố tấn công mạng và lộ dữ liệu Canvas
13 tháng 5, 2026

Phần mềm
Google tung ra Antigravity 2.0: Ứng dụng lập trình thế hệ mới với công cụ CLI và gói đăng ký AI Ultra
19 tháng 5, 2026
