0Pricing
Django Academy · レッスン

Environment VariablesとSettingsの分割

開発用と本番用の設定を安全に分離します

「Environment VariablesとSettingsの分割」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

One Settings File Is Risky

A single settings.py with DEBUG on and secrets hardcoded is fine locally but dangerous live. Production needs its own safe configuration. 🔒

Dev and Prod Differ

Local and live environments need different settings: debug, allowed hosts, databases, and email all change between the two.

Why Environment Variables

Secrets like passwords must never sit in code or git. Environment variables inject them at runtime, keeping them out of your repository.

Read with os.environ

Pull a value from the environment with os.environ. Use a fallback so missing local variables do not crash development.

import os
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-only')

Load a .env File

Tools like python-dotenv load variables from a local .env file, so you do not export them by hand every session.

from dotenv import load_dotenv
load_dotenv()

Never Commit .env

Add .env to your .gitignore. Committing it would leak every secret, defeating the entire reason for using environment variables.

.env
*.pyc

The Settings Package

Split settings into a package: turn settings.py into a folder holding base, dev, and prod modules that share common config.

settings/
  __init__.py
  base.py
  dev.py
  prod.py

Share with base.py

Put everything common in base.py. The dev and prod files import from it, then override only what truly differs.

from .base import *
DEBUG = True

Lock Down prod.py

In prod.py keep DEBUG off and read SECRET_KEY plus ALLOWED_HOSTS from the environment, never from a literal in the file.

from .base import *
DEBUG = False
ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split(',')

Pick the Module

Choose which settings load with the DJANGO_SETTINGS_MODULE variable. Dev points to settings.dev while the server points to settings.prod.

export DJANGO_SETTINGS_MODULE=myproject.settings.prod

Typed Helpers Help

Libraries like django-environ parse env values into booleans, lists, and database URLs, so you avoid messy manual string conversions.

Quick Check

Where should your production SECRET_KEY come from?

Recap

You learned to split settings into base, dev, and prod, keep secrets in environment variables and .env, and select the module per environment. 🎯

よくある質問

「Environment VariablesとSettingsの分割」レッスンは無料ですか?

はい。「Environment VariablesとSettingsの分割」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「Environment VariablesとSettingsの分割」で何を学びますか?

開発用と本番用の設定を安全に分離します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Environment VariablesとSettingsの分割」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. WSGI ServerとしてのGunicorn
  2. Reverse ProxyとしてのNginx
  3. 静的ファイル用のWhiteNoise
  4. Environment VariablesとSettingsの分割
← Django Academyに戻る