Djangoで作成するWebサービスではプロジェクトフォルダの配下に生成される settings.py ファイルがセッティング用のファイルになっており、このファイルでシステム設定を行います。
このファイルを開発するサービスに合わせて修正することになるため、どのような内容が設定されているのかを知っておくことが大切になります。
今回はDjangoプロジェクトを生成した時にデフォルトで設定されているものについて書いていきます。
目次
BASE_DIR
このプロジェクト(Webサービス)が、どのディレクトリをベースとして構成されているのかを示す基準となるディレクトリです。
デフォルトで指定されている下記の記述はmanage.pyファイルが生成されているディレクトリを表すようになっています。
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY
セキュリティー用のキーなので、このキーは外部に漏れないように注意しましょう。
DEBUG
エラーが発生した時に詳細な情報をブラウザ上に表示させるかどうかを”True” もしくは "False"で指定します。
Trueの場合は詳細な情報を表示、Falseの場合は詳細な情報を表示しないので、開発環境はTrue、本番環境はFalseに設定しておきましょう。
ALLOWED_HOSTS
Djangoがアクセスを受け付けるIPアドレスを指定します。
DEBUGにTrueを指定している場合は、ローカル環境からのアクセスなので、設定しなくても問題ありませんが、本番環境では公開しているサーバーのIPアドレスを指定します。
つまり、ここで指定したIPアドレスからのアクセスのみを受け付ける、という設定になります。
INSTALLED_APPS
Webサービス内の機能(アプリ)をDjangoに認識させるための設定です。
アプリを追加するたびにここに設定を追加していきます。
MIDDLEWARE
Djangoプロジェクトで使用するミドルウェアを指定します。
ROOT_URLCONF
ブラウザからリクエストが行われた時に最初に読み込むファイルを指定します。
デフォルトでプロジェクトフォルダ配下の urls.py ファイルが指定されているので、基本的には変更不要です。
TEMPLATES
テンプレートファイル、つまりHTMLファイルを格納している場所などを設定しています。
WSGI_APPLICATION
WSGI(Web Server Gateway Interface)というのが、PythonにおけるWebサーバーとアプリケーションの標準的なインターフェースのことで、そのセットアップ用のファイルを指定するものです。
これも基本的にはデフォルトのままで大丈夫です。
DATABASES
使用するデータベースの設定を行う。
デフォルトではSQLiteになっており、簡易な開発用のデータベースになっているので、本格的な開発をする場合はPostgreSQLなど他のデータベースを使うように変更することになります。
実際に設定する際はDjangoの公式ドキュメントのDATABASESの箇所を参照しましょう。
AUTH_PASSWORD_VARIDATORS
パスワードのバリデーションを管理する設定です。
LANGUAGE_CODE
言語の設定です。
日本語にする場合は『ja』に変更します。
TIME_ZONE
タイムゾーンの設定です。
日本時間にする場合は『Asia/Tokyo』に変更します。
STATIC_URL
CSSファイルや画像ファイルなど、静的ファイルを保存するディレクトリを設定する。