文書の過去の版を表示しています。
Django プログラミング メモ
以下の内容については Django-1.8.3 を利用して記述している。
プロジェクト設定(settings.py)の修正
- 日本語を使用しても問題が発生しないように、先頭行に以下の記述を追加してファイルを UTF-8 にて保存しなおす。
# -*- coding: utf-8 -*- - 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__)))
3行目にて os モジュールを import し、import os
15行目付近で PROJECT_ROOT の取得を追加する。(各動作環境のパスの差異を吸収する)
__file__ == '/private/django_proj/settings.py' の場合、'/private/django_proj/' を取得。
__file__ == 'D:\My Projects\django_proj\settings.py' の場合、'D:\My Projects\django_proj' を取得。# プロジェクトのルートパスを取得 PROJECT_ROOT = os.path.abspath(os.path.split(__file__)[0])
- セキュリティキーは django-admin.py が生成したものを利用する。(他のプロジェクトのものをコピーして共有しないこと)
# SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'y*05eejz)j%+4&c-00i(crrgicz%2_pg+xonohqam0z0@7%f4('
- 以下のコメントを追加して、デバッグとリリースの切り替えが簡単にできるようにしておく。(先頭 # を移動するだけ)
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True #DEBUG = False
- データベースへの接続設定を行う。(以下は PostgreSQL の例)
DATABASES = { 'default': { # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'ENGINE' : 'django.db.backends.postgresql_psycopg2', 'NAME' : 'django_db', # Or path to database file if using sqlite3. 'USER' : 'django', # Not used with sqlite3. 'PASSWORD' : 'test123', # Not used with sqlite3. 'HOST' : '', # Set to empty string for localhost. Not used with sqlite3. 'PORT' : '', # Set to empty string for default. Not used with sqlite3. # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
- 言語コードを日本に設定する。
# Language code for this installation. All choices can be found here: # http://www.i18nguy.com/unicode/language-identifiers.html #LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'ja'
- タイムゾーンをアジア/東京に設定する。
# 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'
- プロジェクトサイトのメディアルートを設定する。(以下ではプロジェクトルートの 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'), )