読者です 読者をやめる 読者になる 読者になる

Django1.6のsettings.pyと管理サイト

Django1.6から、startprojectで作成されるデフォルトのsettings.pyの内容がずいぶん変わってスッキリしました。
以下インラインでコメント。

"""
Django settings for myproject project.

For more information on this file, see
https://docs.djangoproject.com/en/1.6/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.6/ref/settings/
"""

# 基準ディレクトリとなるBASE_DIR、いつも書いてたしデフォルトになると
# 説明しやすくてうれしい。
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '0(1_a$pfwcmc1ja3puxq#24^lnu=tcj+ymd=7!3pu$jn5^0e(f'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# TEMPLATE_DEBUGの値が前はDEBUGになってたんですが、個別指定がデフォルトに。
TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application definition

# adminがデフォルトで入って、sitesがなくなりました。これも妥当かと。
# ちなみにadminアプリのurlsだけが有効な場合はトップページは、
# 「It worked!」がちゃんと表示されます。
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

# clickjackingミドルウェアがデフォルトで有効になりました。
MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'myproject.urls'

WSGI_APPLICATION = 'myproject.wsgi.application'


# データベースはsqlite3がデフォルトで設定されるようになりました。
# これでstartproject直後にsyncdbを実行できるようになりました。
# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# 国際化は長かったコメントをとっぱらってスッキリ。
# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/

STATIC_URL = '/static/'
# MEDIA_ROOT, MEDIA_URL, STATIC_ROOTが省略されてます

# ロギングの長い設定が省略されました。
# TEMPLATE_DIRSとTEMPLATE_LOADERSも省略されました。

開発をはじめる際に必要な最小限の設定ぐらいになったようです。
今まであまり変更されなかったものは省略され、よく使われるであろう値がデフォルトになった感じですね。
以前と比べると、プロジェクト作成後に即syncdbとrunserverを実行して管理画面を使えるので、入門者にもやさしくなったかと思います。
管理サイトについては、日本語翻訳が1.5では少し間に合ってなくて英語のままだった部分があったのですが、1.6は全部翻訳済みの状態になっています。

いい感じ。