Djangoのデフォルトのsettings.pyを書き換える

最近Djangoを使ってみているのだけれど、django-admin.pyで生成されるsettings.pyのタイムゾーンが'America/Chicago'となっている。なんでだー。しかも、言語も'en-us'と設定されているので毎回書き換えている。面倒だ。
そこで、自動生成する際に使われるテンプレートファイルを書き換えることにした。Ubuntu8.04にインストールしたdjango1.0では、settings.pyのテンプレートファイルは、デフォルトのインストールでは/usr/lib/python2.*/site-packages/django/conf/project_template/setttings.pyのようだ。

このファイルを書き換える。まず、DATABSE_ENGINEをsqlite3に設定しておく。いつもsqliteを使うので。ついでにデータベース名も指定する。該当行を以下のように書き換える。

import os
DATABASE_NAME = os.path.dirname(__file__) + os.sep + '{{ project_name }}.sqlite'             # Or path to database file if using sqlite3.

次に、TIME_ZONEを'Asia/Tokyo'に書き換える。そして、LANGUAGE_CODEを'ja'に書き換える。必要ならば、INSTALLED_APPSに'django.contrib.admin'を追加する。

これでプロジェクト開始時に毎回面倒で機械的な作業を減らせる。同様に、/usr/lib/python2.*/site-packages/django/conf/project_template/urls.pyはデフォルトで生成されるurls.pyのテンプレートファイルなので、このファイルを書き換えて作業をさらに楽にできる。今回は静的なファイルを配信できるように書き換える。urls.pyの変数urlpatternsに以下の記述を加える。

# Uncomment the next line to enable static serve:
# (r'^static/(?P<path>.*)', 'django.views.static.serve', {"document_root":"./static", "show_indexes":True}),

これで、該当行をコメントアウトするだけでプロジェクトディレクトリ直下のstaticディレクトリを静的なファイルの配信に使える。

デフォルトでadminを使いたい場合は該当行をコメントアウトしておけばいい。

これでプロジェクト立ち上げ時の作業が楽になった。