Django の環境構築¶
モジュールをインストールする¶
virtualenv を使って専用環境を作成します。 ちょっとしたツールを Web アプリケーションとして実装してみますので、 webapp-tools としておきましょう。
> D:
> cd D:\sandbox
> C:\Python27\Scripts\virtualenv.exe --distribute webapp-tools
webapp-tools フォルダに requirements.txt を作成し、 pip で読み込ませます。
> cd webapp-tools
> notepad requirements.txt # 下記参照
> Scripts\activate
> pip install -r requirements.txt
Note
requirements.txt
Django==1.3
これで Django をインストールできました。次の2点を確認しましょう。
- Scripts フォルダに django-admin.py というファイルが追加されていること。
- Python インタープリタを起動して、 django モジュールをインポートできること。
> python Scripts\django-admin.py --version
1.3
> python
>>> import django
>>> django.VERSION
(1, 3, 0, 'final', 0)
実装するときは、virtualenv の有効化を忘れないようにしましょう。
プロジェクトを作成する¶
django-admin.py を使ってプロジェクトを作成します。 まずはお遊び用の環境ということで、 sandbox を作りましょう。
> python Scripts\django-admin.py startproject sandbox
sandbox というフォルダが作成されます。次のような Python スクリプトが配置されます。
> dir /b sandbox
manage.py
settings.py
urls.py
__init__.py
Note
Djangoの開発版 (1.4以降) ではプロジェクトのファイルレイアウトが変更されます。 詳しくは公式のチュートリアル (英語) を参照してください。 また、 wsgi.py というファイルも追加されるでしょう。
まずは settings.py を編集します。
> cd sandbox
> notepad settings.py # 下記参照
Note
データベースには SQLite を使いますので、 DATABASES の部分を次のように変更します。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'sandbox.sqlite',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
次に、Django プロジェクトの管理スクリプト manage.py を使ってデータベースを作成します。
> python manage.py syncdb
次の質問には “yes” と答え、ユーザー名、メールアドレス、パスワードをそれぞれ入力します。
Would you like to create one now? (yes/no): yes
作業中のフォルダに、先ほど指定したデータベースファイル sandbox.sqlite が作成されています。
> dir /b
manage.py
sandbox.sqlite
settings.py
settings.pyc
urls.py
__init__.py
__init__.pyc
管理画面を有効にする¶
Django には管理画面がアプリケーションとして同梱されています。 最初は有効になっていませんので、それを有効化します。 settings.py と urls.py を編集します。
settings.py の下の方にある INSTALLED_APPS で django.contrib.admin をコメントインします。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
urls.py を変更します。英語ですが、コメントを読んでください。
from django.conf.urls.defaults import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'sandbox.views.home', name='home'),
# url(r'^sandbox/', include('sandbox.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
テストサーバを起動する¶
Django の管理ツール manage.py を使ってテストサーバを起動します。
> python manage.py runserver
Validating models...
0 errors found
Django version 1.3, using settings 'sandbox.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Web ブラウザで 8000 番ポート にアクセスすると、 Django のエラー画面が表示されます。
/admin/ にアクセスすると管理画面が表示されます。
ユーザー名とパスワードは、上述の syncdb のときに入力したものです。
これで Django プロジェクトの作成が完了しました。 Ctrl+BREAK (Linux などの場合は Ctrl+C) でテストサーバを停止できます。 次に開発を再開するときは、virtualenv を有効にしてから manage.py を使ってテストサーバを起動します。