スポンサーリンク

【セキュリティ対策】django-environで環境変数を利用する方法

【セキュリティ対策】django-environで環境変数を利用する方法

Webアプリを作っているとAPIを使っていて、キーをGitで管理したくない場面が多いかと思います。

そうでなくてもGitにDBの情報をアップしたくないということありますよね。

そんな時は、今回ご紹介する「django-environ」を使って環境変数を扱うようにしましょう。

それではさっそくインストール方法と簡単な使い方の説明を見ていきましょう。

django-environの使い方

1,インストール方法

みんな大好きpipでインストール。

pip install django-environ

2,「.env」ファイルの作成

プロジェクトフォルダ直下に「.env」ファイルを作成してください。(manage.pyなどがある階層です)

中身はこんな感じです。

SECRET_KEY=プロジェクト作成した時に自動生成されてるSECRET_KEY
DEBUG=True
DATABASE_ENGINE=使用するDBのエンジン(sqlite3ならdjango.db.backends.sqlite3)
DATABASE_DB=データベース名
DATABASE_USER=ユーザー名
DATABASE_PASSWORD=パスワード
DATABASE_HOST=ホスト名
DATABASE_PORT=ポート番号

自分の環境に合わせて値を変えてください。他にも環境変数として管理したいものがある場合は随時増やしてもらって構いません。

settings.pyで環境変数を呼び出す方法

こんな感じで使えます。

import os
import environ

env = environ.Env()
env.read_env('.env')

SECRET_KEY = env('SECRET_KEY')

DEBUG = env('DEBUG')

...

DATABASES = {
    'default': {
        'ENGINE': env.get_value('DATABASE_ENGINE', default='django.db.backends.sqlite3'),
        'NAME': env.get_value('DATABASE_DB', default=os.path.join(BASE_DIR, 'db.sqlite3')),
        'USER': env.get_value('DATABASE_USER', default='django_user'),
        'PASSWORD': env.get_value('DATABASE_PASSWORD', default='password'),
        'HOST': env.get_value('DATABASE_HOST', default='localhost'),
        'PORT': env.get_value('DATABASE_PORT', default='5432'),
    }
}

詳しい使い方は公式ドキュメントの方にありますので設定にこだわりたい方は読んでみてください。

コメント