django-admin startproject
が生成する settings.py には SECRET_KEY
がハードコーディングされている。そのまま GitHub に push すると GitGuardian が親切にも警告メールを送ってくる。実験用のプロジェクトでは問題ないが、正しい作法にのっとるに越したことはないので、 SECRET_KEY
は GitHub に晒さないようにしたい。
SECRET_KEY
の正しい管理方法
以下の手順は、 startproject 直後に、生成物を git commit する前に行うのが望ましい。でないとハードコードされた SECRET_KEY
が Git の歴史に残ってしまうので。
SECRET_KEY
を記載するファイルを作成する- local_settings.py
- そのファイルを Git のバージョン管理対象から外す
echo local_settings.py >> .gitignore
- gitignore.io - Create Useful .gitignore Files For Your Project のを使うと便利
wget https://www.toptal.com/developers/gitignore/api/django -O .gitignore
SECRET_KEY = ...
の行を settings.py から local_settings.py に移動する- settings.py から読み込む
from .local_settings import SECRET_KEY
サンプルプロジェクト