Python School 2.0.0 documentation

Django の環境構築

Contents

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点を確認しましょう。

  1. Scripts フォルダに django-admin.py というファイルが追加されていること。
  2. 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.pyurls.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 のエラー画面が表示されます。

../images/django-page-not-found.png

/admin/ にアクセスすると管理画面が表示されます。

../images/django-admin-login.png

ユーザー名とパスワードは、上述の syncdb のときに入力したものです。

これで Django プロジェクトの作成が完了しました。 Ctrl+BREAK (Linux などの場合は Ctrl+C) でテストサーバを停止できます。 次に開発を再開するときは、virtualenv を有効にしてから manage.py を使ってテストサーバを起動します。

Contents