LoginSignup
23
13

More than 3 years have passed since last update.

【Django】'The SECRET_KEY setting must not be empty.'の対処法

Posted at

はじめに

Qiita初投稿です。
間違い等があればご指摘お願いいたします。

概要

「動かして学ぶ!Python Django開発入門」の10章で、
認証用アプリケーション(accounts)を作成し、makemigrationを実行しようとしたところ、

'The SECRET_KEY setting must not be empty.'

というエラーに遭遇。

試したこと

・accounts/migrations配下の'__init__.py'以外のファイル削除

→そもそもmakemigrationsコマンド自体が実行できないので、'__init__.py'以外のファイルは見当たらず...

・settings.pyにコード追加

settings.pyに

settings.py
from .settings_common import *

という一文追加。

エラーが出なくなった!!

原因

settings.pyに

settings.py
SECRET_KEY = 'hogehoge'

がないためエラーが発生していたらしい。

この教材の途中で、本番環境と開発環境を分けるために

  • 'settings_common.py'
  • 'settings.dev.py'

っていうファイルを作成して、'settings.py'の中身を全部
'settings_common.py'に移す作業があったんだけど、
そのせいで'settings.py'にSECRET_KEYがないと見なされていたらしい...。
('settings.py'は空ファイル)

試してはないけど、'settings.py'に直接SECRET_KEYを指定してもできそう。
それだと同じコードを2回も書くことになると思うしimportした方が良いと思われる。

おわりに

なんとか解決できて良かった...

友人曰く、settings.pyを分けるときのベストプラクティスもあるそうなので、そっちも勉強してわかり次第記事にしたいな...。

23
13
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
13