Quản lý cấu hình dự án Python chuyên nghiệp với Pydantic Settings

05 tháng 4, 2026·2 phút đọc

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.

Quản lý cấu hình dự án Python chuyên nghiệp với Pydantic Settings

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 được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗