Source

djangobook-cn / docs / _build / pickle / _sources / 2.0 / chapter02.txt

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
.. _2.0-chapter02:

第2章: 始めるにあたって
=======================

Django のインストールは、
最近のWeb開発環境にあるように動作が複数の部品に分かれているので、
複数ステップのプロセスとなります。
この章では、私たちはあたなにインストール方法と、
多少の依存関係を丁寧に解説します。

Django コードは "ただの" Python コードなので、
Python が動作している必要があります - Python を
搭載している携帯電話もあるくらいです。
しかし、この章では Django をインストールするための
一般的なシナリオのみに対応します。
私たちは、あなたがそれをデスクトップ/ノートパソコン、
サーバマシーンにインストールしていると仮定します。

私たちは、第20章で商用サイトに Django をデプロイする方法を解説します。

Python のインストール
---------------------

Django 自体がPure Pythonで書かれているので、
このフレームワークをインストールする最初のステップは、
Python がインストールされていることを確認することです。

Python のバージョン
~~~~~~~~~~~~~~~~~~~

Django フレームワークのコアは、
Python のバージョン2.3から2.6を含むどのバージョンでも動作します。
Django のGISオプションをサポートするためには、
Python のバージョン2.4から2.6が必要です。

あなたが、どのバージョンの Python をインストールしていいか分からない、
また決定についての自由があるのであれば、
2.xシリーズで最新のものを選択してください: バージョン 2.6。
Django は、バージョン2.3から2.6を含むどのバージョンでも同様に動作しますが、
バージョンが高い Python には、
パフォーマンスの改善と、
あなたのアプリケーションで使える追加機能が含まれているかもしれません。
さらに、あなたが使用したい特定のサードパーティー製の Django アドオンは、
Python 2.3 以降のバージョンが必要等のケースもありますので、
バージョンが高い Python を使うことはあなたの選択肢を広げます。

.. admonition:: Django と Python 3.0

    執筆中に Python 3.0 がリリースされましたが、
    Django はまだそれをサポートしていません。
    Python 3.0 は、その言語自体に相当な数の下位非互換な変更があり、
    結果として、Django を含む多くの主なライブラリーやフレームワークは、
    対応に数年は必要と予想します。

    もし、あなたが Python を触り始めたばかりで、
    Python 2.x か Python 3.x を学ぶべきかどうか迷っているのであれば、
    私たちのアドバイスは Python 2.x を続けることです。

Python のインストール
~~~~~~~~~~~~~~~~~~~~~

もし、あなたがLinux、Mac OS Xを使っているのであれば、
あなたは Python をインストール済みです。
コマンドプロンプト(OS X の場合は、Applications/
Utilities/Terminal)で `python` と入力してください。
もし次のように表示された場合は、
Python はすでにインストールされています。

.. sourcecode:: python

    Python 2.4.1 (#2, Mar 31 2005, 00:05:10)
    [GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

その他の場合、あなたは Python をインストールする必要があります。
それはとても簡単で、すぐに終わります。
詳細な解説は、 `http://www.python.org/download/
<http://www.python.org/download/>`_ を利用できます。


Django のインストール
---------------------

いつの時点でも、あなたは2つの異なるバージョンの Django を利用できます: 
最新の公式リリースバージョンと、
現在開発中の "trunk" バージョンです。
インストールのバージョンを決定するのは、
あなたのプライオリティー次第です。
あなたは、安定してテストされた Django のバージョン、
もしくは Django 自体に貢献できる安定はしてないが
最新の機能を含んでいるバージョンどちらを望みますか?

私たちは公式リリースを推奨しますが、
ドキュメンテーションやコミュニティのメンバーが
開発中の "trunk" バージョンについても述べているので、
その存在を知るのは重要です。

公式リリースのインストール
~~~~~~~~~~~~~~~~~~~~~~~~~~

公式リリースは、例えば 1.0.3 や 1.1 等のバージョン番号を持っており、
そのうち最新のものは `http://www.djangoproject.com/download/
<http://www.djangoproject.com/download/>`_ でいつでも利用できます。
インストールするためには、
最初に、 `Django-1.0.2-final.tar.gz` のような
名称の tarball ファイルをダウンロードします。
次に、多くの Python ライブラリーと同様に、
このファイルを解凍し、 `setup.py install` を実行します。

これは、このプロセスを Unix 系のシステムで見ています

#. `tar xzvf Django-1.0.2-final.tar.gz`
#. `cd Django-*`
#. `sudo python setup.py install`

もしあなたが利用している Linux のディストリビューションが、
Django のパッケージを提供しているのであれば、
そのディストリビューションのバージョンを使うのも良いでしょう。
それは、他のシステムと同様にセキュリティ更新を受けることができるでしょう。

Windows 系では、 `.tar.gz` ファイルの解答するために、
7-Zip ( `http://www.djangoproject.com/r/7zip/
<http://www.djangoproject.com/r/7zip/>`_ ) の利用を推奨します。
ファイルの解凍後、DOS シェル(コマンドプロンプト)を
起動し、 `Django-` で始まるフォルダ名内で以下のコマンドを実行します。

.. sourcecode:: python

    python setup.py install

"trunk" バージョンのインストール
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

最新で最高の Django 開発版は *trunk* と呼ばれており、
それは Django の Subversion リポジトリから入手できます。
あなたが安定に貢献し、
またあなたがそのコードを Django 自体に寄与したい場合は、
このバージョンのインストールを考えてください。

Subversion は無料の、
CVS に似たバージョンコントロールシステムであり、
Django チームは Django のコードベースのバージョン管理に利用しています。
あなたは、Subversion のクライアントを使用することで、
最新の Django ソースコードを手に入れ、
またいつでも *ローカルにチェックアウト* することにより、
Django 開発者が開発した最新の変更と改善を得ることができます。

trunkを使う際、
壊れないという保証がないということを心に留めておいてください。
とは言うものの、Djangoは商用サイトを trunk で動作させており、
その安定運用に努めています。

最新の Django trunk を入手するには
以下のステップを実施してください。

#. Subversion クライアントをインストールしてください。
   あなたは、 `http://subversion.tigris.org/
   <http://subversion.tigris.org/>`_ で無料で入手することができ、
   素晴らしいドキュメントを `http://svnbook.red-bean.com/
   <http://svnbook.red-bean.com/>`_ で見ることができます。

#. `svn co http://code.djangoproject.com/svn/django/trunk djtrunk` コマンドで、
   trunk をチェックアウトする。

#. `site-packages/django.pth` を作成し、 `djtrunk` ディレクトリーを追加する。
   もしくは、 `PYTHONPATH` に `djtrunk` を追加し、更新する。

#. システムの `PATH` に `djtrunk/django/bin` を追加する。
   このディレクトリーは `django-admin.py` のような、
   管理用のユーティリティを含んでいます。

.. admonition:: Tips

    もしあなたが、 `.pth` ファイルを
    初耳の場合は、 `http://www.djangoproject.com/r/python/site-module/
    <http://www.djangoproject.com/r/python/site-module/>`_ で
    その詳細を学ぶことができます。

Subversion からダウンロードし、
上記のステップを実施した場合は、
Python の `setup.py install` を実行する必要はありません。
あなたはたった今、自分の手でその働きをしました。

Django trunk はバグフィックスと機能追加により頻繁に変わるので、
あなたは、恐らく時々それをアップデートしたいと思うでしょう。
コードをアップデートするためには、 `djtrunk` ディレクトリーで、 
`snv update` を実行するだけです。
あなたがそのコマンドを実行すると、
Subversion は `http://code.djangoproject.com/
<http://code.djangoproject.com/>`_ に接続し、
変更された Django のコードを特定し、
あなたが最後にアップデートした
ローカルコードからの変更箇所をすべて上書きします。
それはとてもスムーズです。

最後に、もしあなたが trunk を使うのであれば、
あなたは自信が使っている trunk のバージョンを
調べる方法についても知っておく必要があります。
あなたがいつかコミュニティに助けを求める必要があった場合、
もしくはあなたがフレームワークにパッチを提供する場合、
利用しているバージョンを知っておくのは重要です。
この場合、
あなたは trunk のバージョンを伝えなければならず、
それは "revision number" や "changeset" として知られています。
あなたの revision number を調べたい場合は、`djtrunk` ディレクトリーで、 
`snv info` を実行し、 "Revision:" の後に続く数値を探してください。
Django コミュニティの一部のメンバーの間では、
"I’ve been using Django since [ここに非常に低い revision number を記入]."
と言うことがステータスとなっています。

インストールした Django の確認
------------------------------

インストール後のポジティブフィードバックのために、
インストールが正常に終了したかを確認するための時間を取ってください。

シェルコマンドで、異なるディレクトリー
(例えば、 `django` ディレクトリー *以外* のディレクトリー)
に移動し、 `python` とタイプし、Python のインタラクティブシェル
を開始してください。
インストールが成功していれば、
あなたは django モジュールをインポートすることができます。

.. sourcecode:: python
   
    >>> import django
    >>> django.VERSION
    (1, 1, 0, ‘alpha’, 0)

.. admonition:: インタラクティブシェルの例

    Python インタラクティブシェルは、
    あなたがインタラクティブ(対話型)に Python プログラムを書くことができる
    コマンドラインプログラムです。
    それを開始するためには、
    コマンドラインで `python` コマンドを実行してください。
    この本を通して、
    私たちは Python インタラクティブシェルのセッションを例示します。
    あなたは、この例をインタプリタプロンプトを意味する
    3つの大なり記号(">>>")により見分けることができます。
    もし、あなたがこの例をコピーして利用する場合は、
    この大なり記号はコピーしないでください。
    インタラクティブシェルで複数行にまたがるステートメントは、
    3つのドット("...")が以下の例のように追加されます:

    .. sourcecode:: python
   
        >>> print """This is a
        ... string that spans
        ... three lines."""
        This is a
        string that spans
        three lines.
        >>> def my_function(value):
        ...     print value
        >>> my_function('hello')
        hello

    追加された行の始まりにある3つのドットは、
    Python シェルにより付加されます - それは
    私たちが入力した部分ではありません。
    私たちは、シェルの実際の出力に忠実であるために、
    それを含んでいます。
    あなたがこの例をコピーして利用する場合は、
    このドットをコピーしないでください。

データベースのセットアップ
--------------------------

この時点で、Django の動作に必要な唯一の条件である
Python のインストールが完了しているので、
あなたは Django を使った Web アプリケーション
を書き始めることもできます。
しかし、あなたはデータベースドリブンな Web サイトを
作りたいと思うでしょう。
それにはデータベースサーバのセットアップが必要です。

もし、すぐ Django を使いたい
のであれば、"プロジェクトの開始"セクションへ
進んでください - しかしこの本のすべての例は、
あなたがデーターベースをセットアップ済みと
仮定していることを覚えておいてください。

Django は、4つのデータベースエンジンをサポートしています。

* PostgreSQL: `http://www.postgresql.org/
  <http://www.postgresql.org/>`_
* SQLite 3: `http://www.sqlite.org/
  <http://www.sqlite.org/>`_
* MySQL: `http://www.mysql.com/
  <http://www.mysql.com/>`_
* Oracle: `http://www.oracle.com/
  <http://www.oracle.com/>`_

ほとんどの場合、このすべてのエンジンは、
Django フレームワークのコアで同じように動作します。
(注目すべき例外は、Django の GIS サポートオプションです。
それは他のデータベースと比較し、
PostgreSQL に対して非常に強力です。)
あなたがレガシーシステムに拘束されたくなく、
データーベースバックエンドを選ぶ自由があるのであれば、
私たちは PostgreSQL の利用を推奨します。
それは、コスト、機能、スピード、安定性のバランスが非常に優れています。
データベースのセットアップのためのプロセスは、2つのステップです:

* 最初に、あなたはデータベースサーバ自体をインストール、
  設定する必要があります。
  このプロセスは、4つのデータベースバックエンドの
  各Webサイトに豊富なドキュメントが提供されているので、
  この本では解説しません。
  (もしあなたが共有ホスティングプロバイダーを利用する場合、
  データベースはすでに(デフォルトで)提供されている可能性があります)

* 次に、あなたは利用するデータベースバックエンドのための
  Python ライブラリーをインストールする必要があります。
  これは、Python からデータベースを操作するインターフェースとなる
  サードパーティーのコードの一つです。
  私たちは、次のセクションで各データベースに必要なものを解説します。

もしあなたが Django を軽く触ってみたいだけで、
データベースサーバをインストールしたくないのであれば、
SQLite の利用を検討してください。
もしあなたが Python 2.5 を利用しているのであれば、
SQLite は上記のステップを必要としないので、
サポート対象の他のデータベースとは異なっています。
それは、単純にあなたのファイルシステム内の単一ファイルに、
そのデータを読み書きするだけであり、
Python 2.5 はそれをビルトインとして内部でサポートしています。

Windows は、データベースドライバーのバイナリーを
手に入れるのにイライラさせられます。
もし、早く始めたいのであれば、
私たちは Python 2.5 とその内部でサポートしている SQLite の
利用を推奨します。

Django を PostgreSQL と使う
~~~~~~~~~~~~~~~~~~~~~~~~~~~

もし、あなた PostgreSQL を使っているのであれば、
`http://www.djangoproject.com/r/python-pgsql/
<http://www.djangoproject.com/r/python-pgsql/>`_ から、 
`psycopg` か `psycopg2` のどちらかのパッケージをインストールする必要があります。
私たちは、より新しく、より開発が活発で、
インストールがより簡単な、 `psycopg2` を推奨します。
どちらを選択したにせよ、あなたが 1 または 2 の
どちらのバージョンを使っているかを覚えておいてください; 
あとでこの情報が必要となります。

もし、あなたが Windows 上で PostgreSQL を使う場合は、
`http://www.djangoproject.com/r/python-pgsql/windows/
<http://www.djangoproject.com/r/python-pgsql/windows/>`_ で、
`psycopg` のプリコンパイルされたバイナリーを見つけることができます。

もし、あなたが Linux を使っている場合は、
あなたが使っているディストリビューションのパッケージ管理システムから、
`python-psycopg2` 、 `psycopg2-python` 、 `python-postgresql` のような
名前のパッケージが提供されているか調べてください。

Django を SQLite 3 と使う
~~~~~~~~~~~~~~~~~~~~~~~~~

もし、あなたが Python 2.5 以上のバージョンを使っているのであれば、
あなたはラッキーです: Python に SQListe のサポートが含まれているので、
特にインストールは必要ありません。
次のセクションに進んでください。

もし、あなたが Python 2.4 以前のバージョンを使っているのであれば、
あなたは `http://www.djangoproject.com/r/sqlite/
<http://www.djangoproject.com/r/sqlite/>`_ から 
SQLite 3 -バージョン2ではない- と、
`http://www.djangoproject.com/r/python-sqlite/
<http://www.djangoproject.com/r/python-sqlite/>`_ から 
`pysqlite` パッケージが必要です。
`pysqlite` 2.0.3 以上のバージョンが必要なので注意してください。

もし、あなたが Windows を使っている場合は、、
`pysqlite` へ静的にリンクするので、
あなたは最初のステップでインストールだけ実行し、
次のステップはスキップすることができます。

もし、あなたが Linux を使っている場合は、
あなたが使っているディストリビューションのパッケージ管理システムから、
`python-sqlite3` 、 `sqlite-python` 、 `pysqlite` のような
名前のパッケージが提供されているか調べてください。

Django を MySQL と使う
~~~~~~~~~~~~~~~~~~~~~~

Django は MySQL 4.0 以上を必要とします。
3.x バージョンは、
ネストされたサブクエリーと、
その他いくつかの標準的なSQLステートメントをサポートしていません。

あなたは、
`http://www.djangoproject.com/r/python-mysql/
<http://www.djangoproject.com/r/python-mysql/>`_ から
`MySQLdb` パッケージのインストールが必要です。

もし、あなたが Linux を使っている場合は、
あなたが使っているディストリビューションのパッケージ管理システムから、
`python-mysql` 、 `python-mysqldb` 、 `mysql-python` のような
名前のパッケージが提供されているか調べてください。

Django を データベースなしで使う
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

上で述べたように、実は、Django にデータベースは必須ではありません。
あなたが、データベースを使わない動的なページに利用するのも素晴らしいことです。

とはいうものの、Django にバンドルされているいくつかのツールは
データベースを利用しており、
データベースを使わないのであれば
その機能も使うことができないことに注意してください。
(私たちは、この本を通してそれらの機能に注目しています)

プロジェクトの開始
------------------