1. ホーム
  2. Python
  3. 【Python】Djangoで開発環境と本番環境を分けれるように環境変数をdjango-environで管理する

【Python】Djangoで開発環境と本番環境を分けれるように環境変数をdjango-environで管理する

こんにちは、nishi_talk(@nishi_talk)です。
Djangoで開発環境と本番環境を分けれるように環境変数をdjango-environで管理する方法をご紹介します。




パッケージをインストール

$ pip install django-environ

環境変数を設定

.envファイルを作成して、中に環境変数を設定します。

DEBUG=True
ALLOWED_HOSTS=[aaa,bbb,ccc]
SECRET_KEY=xxxxxxxxxxxxx
DATABASE_URL=mysql://user:password@host:port/detabasename



DATABASE_URLはこんな感じで記述します。

DATABASE_URL=mysql://{ユーザー名}:{パスワード}@{ホスト}:{ポート}/{データベース名}

あとはdjangoのsettings.pyの記述を変更

import os
import environ

env = environ.Env(DEBUG=(bool, False),)
environ.Env.read_env('.env')

SECRET_KEY = env('SECRET_KEY')
DEBUG = env('DEBUG')
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS')

DATABASES = {
    'default': env.db()
}

DATABASE_URLという環境変数で一行書くことでDBの定義ができるっぽいです。

Pythonの参考書籍

私がPythonを勉強したときに使った書籍をご紹介します。

カテゴリー