Help us understand the problem. What is going on with this article?

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

はじめに

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を分けるときのベストプラクティスもあるそうなので、そっちも勉強してわかり次第記事にしたいな...。

gumottinn
雑多なことを備忘録として書いていければなと思います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした