استفاده از env

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/12
  • تعداد بازدید: 32

برای مدیریت داده‌های حساس در پروژه‌های نرم‌افزاری، استفاده از فایل .env یکی از بهترین و امن‌ترین روش‌هاست. این فایل به شما امکان می‌دهد مقادیر متغیرهای محیطی مانند کلیدهای API، رمز عبور پایگاه داده و سایر اطلاعات حساس را به‌صورت جداگانه و خارج از کد منبع ذخیره کنید.

استفاده از فایل .env برای مدیریت داده‌های حساس

دلایل استفاده از .env

  • جلوگیری از قرار گرفتن داده‌های حساس داخل کد برنامه
  • امکان تغییر سریع تنظیمات بدون نیاز به ویرایش کد
  • تفکیک بهتر پیکربندی از منطق برنامه
  • سهولت در اجرای برنامه در محیط‌های مختلف مانند توسعه، تست و تولید

ایجاد فایل .env

یک فایل متنی ساده با نام .env در پوشه اصلی پروژه ایجاد کنید و متغیرهای مورد نظر را به صورت کلید=مقدار در آن بنویسید:


DB_USER=username
DB_PASSWORD=your_password
API_KEY=abcdef123456
DEBUG=True

بارگذاری متغیرهای .env در برنامه

برای استفاده از این متغیرها در برنامه، می‌توانید به صورت مستقیم با استفاده از ماژول os در پایتون به آن‌ها دسترسی داشته باشید:


import os

db_user = os.environ.get("DB_USER")
db_password = os.environ.get("DB_PASSWORD")
api_key = os.environ.get("API_KEY")
debug_mode = os.environ.get("DEBUG") == "True"

print(f"User: {db_user}, Debug: {debug_mode}")

اما برای بارگذاری خودکار متغیرهای .env در محیط اجرای برنامه، استفاده از کتابخانه‌هایی مانند python-dotenv رایج و کارآمد است. این کتابخانه فایل .env را خوانده و متغیرها را به محیط اجرا اضافه می‌کند:


from dotenv import load_dotenv
import os

load_dotenv()  # بارگذاری متغیرهای .env

db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")

ماژول‌های دیگر برای مدیریت بهتر متغیرهای محیطی

  • python-decouple: مدیریت ساده‌تر پیکربندی و تفکیک بهتر فایل‌های تنظیمات با امکانات بیشتر نسبت به python-dotenv
  • environs: یک ابزار با امکانات بیشتر برای خواندن و اعتبارسنجی متغیرهای محیطی به صورت ساده و قابل توسعه
  • configparser: بیشتر برای خواندن فایل‌های پیکربندی .ini استفاده می‌شود ولی در برخی پروژه‌ها جایگزین می‌تواند باشد

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.