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
サンプルプロジェクト