Manajemen Django Settings dengan Paket python-decouple

Sebelumnya, saya menggunakan local_settings.py untuk membedakan settings lokal dan server, namun ternyata masih ada cara lain yang lebih efisien, yakni dengan membuat berkas plain text yang berisi config penting dan dipanggil menggunakan paket python-decouple.

Berikut ini contoh berkas .env

SECRET_KEY=l9@#=uetxk8@*1=cx!@)m3y#_yk11t73)%$
DEBUG=True
ALLOWED_HOSTS=
SOCIAL_AUTH_TWITTER_KEY=''
SOCIAL_AUTH_TWITTER_SECRET=''
SOCIAL_AUTH_FACEBOOK_KEY=''
SOCIAL_AUTH_FACEBOOK_SECRET=''
DB_NAME=myawesomedb
DB_USER=kholidfu
DB_PASSWORD=thepassword
DB_HOST=127.0.0.1
DB_PORT=5432

Konfigurasi di atas kemudian dapat dengan mudah diakses dari settings.py, berikut ini adalah contohnya:

from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', cast=bool)

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'NAME': config('DB_NAME'),
    'USER': config('DB_USER'),
    'PASSWORD': config('DB_PASSWORD'),
    'HOST': config('DB_HOST'),
    'PORT': config('DB_PORT'),
    }
}

Tutorial lebih lanjut bisa dibaca di tautan berikut:

tutorial on python-decouple

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s