====== プロジェクトの設定 (django_project/settings.py) ====== $ cd django_project/django_project $ vi settings.py ==== ソースエンコーディングの設定 ==== 日本語を使用しても問題が発生しないように、先頭行に以下の記述を追加してファイルを UTF-8 にて保存しなおす。\\ # -*- coding: utf-8 -*- ==== プロジェクトパス (BASE_DIR) ==== BASE_DIR が提供されるように変更された。\\ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 以前のバージョンでは、自分で os モジュールを import して、PROJECT_ROOT を定義する必要がある。\\ import os # プロジェクトのルートパスを取得 PROJECT_ROOT = os.path.abspath(os.path.split(__file__)[0]) PROJECT_ROOT の取得を追加する。(各動作環境のパスの差異を吸収する)\\ **%%__file__%% == '/private/django_proj/settings.py'** の場合、**'/private/django_proj'** を取得。\\ **%%__file__%% == 'C:\My Projects\django_proj\settings.py'** の場合、**'C:\My Projects\django_proj'** を取得。\\ ==== セキュリティキー (SECRET_KEY) ==== セキュリティキーは django-admin.py が生成したものを利用する。(他のプロジェクトのものをコピーして共有しないこと)\\ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '00-ky$!7z2s)8p8)$qp+)vbs_(ajvfjes%=#9d_rrl&%ju0$(y' ==== デバッグ設定 (DEBUG) ==== 以下のコメントを追加して、デバッグとリリースの切り替えが簡単にできるようにしておく。(先頭 # を移動するだけ)\\ # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True #DEBUG = False ==== データベース接続設定 (DATABASES) ==== Python から PostgreSQL を利用するには [[python:psycopg2|psycopg2 のインストール]] が必要になる。\\ PostgreSQL のセットアップについては、[[linux:postgresql|PostgreSQL(Linux)]] を参照のこと。\\ データベースへの接続設定を行う。(以下は PostgreSQL の例。標準では sqlite3 の設定になっている。)\\ # Database # https://docs.djangoproject.com/en/3.0/ref/settings/#databases DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'django_db', 'USER': 'django', 'PASSWORD': 'test123', 'HOST': '', 'PORT': '', } } ^ settings.py ファイル ^^^ ^ 設定項目 ^ 設定値 ^ 説明 ^ |ENGINE |'django.db.backends.postgresql' |'django.db.backends.' に 'postgresql', 'mysql', 'sqlite3', 'oracle' のいずれかを続けて指定する。 | |NAME |'database_name' |データベース名を指定する。 | |USER |'db_user_name' |ユーザー名を指定する。 | |PASSWORD |'password' |パスワードを指定する。 | |HOST |' ' |ホスト名を指定する。空文字の場合は localhost と同じ。 | |PORT |' ' |ポートを指定する。空文字の場合はデフォルトポートになる。 | **メモ:** プロジェクト設定ファイルの INSTALLED_APPS に定義されている Django に付属のミドルウェア群('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites') はテーブルを必要とする。\\ そのため、これらのアプリケーションを使う前に以下のコマンドを実行して、データベースにテーブルを作成しておく必要がある。\\ [[https://docs.djangoproject.com/ja/3.0/intro/tutorial02/|はじめての Django アプリ作成、その2 | Django ドキュメント | Django]]\\ [[https://docs.djangoproject.com/ja/3.0/ref/settings/#databases|設定 | Django ドキュメント | Django]]\\ ==== 言語設定 (LANGUAGE_CODE) ==== 言語コードを日本に設定する。 # Internationalization # https://docs.djangoproject.com/en/3.0/topics/i18n/ #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'ja' ==== タイムゾーン設定 (TIME_ZONE) ==== タイムゾーンをアジア/東京に設定する。 # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. # In a Windows environment this must be set to your system time zone. #TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Tokyo' \\ http://127.0.0.1:8000/ にアクセスした様子。\\ {{:python:django:django_3.0_runserver_ja.png?623|}} ==== その他 ==== 以前のバージョンでは以下の設定も行っていた。\\ - プロジェクトサイトのメディアルートを設定する。(以下ではプロジェクトルートの media ディレクトリを設定)\\ '/private/django_proj/media' のような内容で設定される。 MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media') - プロジェクトサイトのメディア URL を設定する。(管理サイトのメディア URL と被らないように設定) MEDIA_URL = '/site_media/' - 管理サイトのメディア URL を設定する。(プロジェクトサイトのメディア URL と被らないように設定) ADMIN_MEDIA_PREFIX = '/admin_media/' - **django.template.loaders.filesystem.Loader** テンプレートローダが、プロジェクトルートの templates ディレクトリを検索するように設定する。 TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. os.path.join(PROJECT_ROOT, 'templates'), )