@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Django: SECRET_KEY を再生成する

SECRET_KEY をうっかり GitHub に晒してしまった場合、再生成した方が良い。

check_secret_key によると SECRET_KEY は、

  • 5種類以上の文字が使われている
  • 50文字以上の長さがある

を満たす文字列であればなんでも良さそうだが、せっかくなので Django が自動生成するのと同じアルゴリズムを使って再生成したい。

django.core.management.utils.get_random_secret_key() という、そのものズバリの関数があるようだ。

stackoverflow.com

❯ python manage.py shell
Python 3.6.10 (default, Nov  2 2020, 21:46:18)
Type "copyright", "credits" or "license" for more information.

IPython 4.1.2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from django.core.management.utils import get_random_secret_key

In [2]: get_random_secret_key()
Out[2]: 'v#wt+ag1)vuubl!9t5ca@lks402vr3#-aab*=$i3d7r+xzv&j5'