Django v1.0 documentation

Django 1.0 alpha リリースノート

revision-up-to:8961 (1.0)

Django 1.0 alpha にようこそ!

このリリースは、来るべき Django 1.0 リリースにつながる最初のプレビュー/開 発者向けリリースです。1.0 のリリースは 9 月初頭を予定しています。このリリー スでは、主に Django のコードベースをテストしたい開発者や、 1.0 の最終リリー スに向けてバグ修正を手伝う開発者をターゲットにしています。

従って、このリリースは実運用向きでは ありません 。くれぐれも実運用の目的 では使わないようにしてください。

Django 1.0 alpha で新たに登場した機能

ここ数年、我々は Django の trunk ソースツリーでほぼずっと活発に開発を続け、 0.96 リリース以降、大きな機能をいくつも投入してきました。その中でも重要なも のを以下に示します:

admin アプリケーションのリファクタ (newforms-admin)

Django の管理インタフェース (django.contrib.admin) を完全にリファク タしました。admin の定義を完全にモデル定義から脱カップリングし (モデル から class Admin をなくしました!)、Django の新たなフォーム処理ライ ブラリ (0.96 から登場した django.newforms で、今後は単に django.forms) を使うよう、 admin のフレームワークを 書き直しました。 また、思い通りに拡張したりカスタマイズしたりできるようになりました。 admin アプリケーションのドキュメントは、以下の Django 標準ドキュメント:

admin インタフェース

にあります。

Unicode 処理の改善

Django の内部処理を、一貫して Unicode を使うようリファクタしました。 これにより、非西欧圏のコンテンツやデータの扱い劇的に単純化しました。 また、サードパーティライブラリや、Unicode を行儀よく扱えないことのある システムとの相互運用を楽にするためのユーティリティも提供しました。 詳細は、 Django の Unicode 処理ドキュメント:

Unicode リファレンス

にあります。

Django ORM の改善

Django のオブジェクト-リレーショナルマッパ、つまり Django のモデルクラ スとデータベースを対応づけ、クエリの発行を仲立ちするためのコンポーネン トを、徹底的なリファクタによって劇的に改善しました。ほとんどの Django ユーザにとって、この変更による互換性の問題はありません。データベースを 操作している公開の API に細かい変更がありましたが、ほとんどの変更は ORM の内部コードに対して施されています。このリファクタのもたらす、以前のバー ジョンと互換性のない変更や新たな機能は、 Django の wiki ページ:

http://code.djangoproject.com/wiki/QuerysetRefactorBranch

に掲載しています。

テンプレート変数の自動エスケープ
クロスサイトスクリプティング (XSS) 脆弱性に対する安全性をより高めるため に、 Django のテンプレートシステムが全ての変数出力を自動的に HTML エス ケープするよう変更しました。この挙動はもちろん変更でき、変数やテンプレー トの一部を「安全:safe」(エスケープ不要) や「安全でない:unsafe」(エスケー プが必要) にマークできます。この機能の詳しい説明は、 autoescape タグのドキュメントにあります。

他にも、新しい機能やバグフィクス、以前のバージョンからある機能に対する改善 がいくつもあります。 例えば newforms ライブラリには大々的な改良を行いま したが、その中で、様々なフォーム処理の実装を補ったり土台になったりする便利 なアドオンをいくつも django.contrib に追加しました。また、ファイルのアッ プロードハンドラをリファクタし、より細かなアップロードプロセス制御を可能に すると同時に、巨大なファイルのストリーミングに対応しました。

こうした改善や機能追加の一方で、各機能の刷新と、1.0 リリースに向けた API の 確定に伴って、以前のバージョンと互換性のない変更をフレームワークに対してい くつも行っています。こうした変更に対する詳しいガイドは最終的な Django 1.0 リリースに含めて読めるようにします。また、アップグレードを始めたり、テスト したりしたい人のために、以前のバージョンと互換性のない変更の全容を Django の wiki ページにまとめています:

http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges

Django 1.0 のロードマップ

この alpha リリースの主要な目的の一つは、 Django 1.0 に実装する予定の機能 のうち、まだ終っていないものや、最終リリースまでに修正しておかねばならない バグを見極めることです。このリリースの後、ベータリリースとリリース候補版に 向けて一連のスプリントを実施し、すぐに Django 1.0 をリリースします。タイム ラインは以下のように計画しています:

  • 2008 年 8 月 1 日: スプリント (Washington, DC とオンラインで)
  • 2008 年 8 月 5 日: Django 1.0 beta 1 リリース。同時に、 1.0 に向けての機 能フリーズを行います。 1.0 に搭載する機能は、この時点で trunk 内での作業 を終えなければなりません。
  • 2008 年 8 月 8 日: スプリント (Lawrence, KS とオンラインで)
  • 2008 年 8 月 12 日: Django 1.0 beta 2 リリース。
  • 2008 年 8 月 15 日: スプリント (Austin, TX とオンラインで)
  • 2008 年 8 月 19 日: Django 1.0 release candidate 1.
  • 2008 年 8 月 22 日: スプリント (Portland, OR とオンラインで)
  • 2008 年 8 月 26 日: Django 1.0 release candidate 2.
  • 2008 年 9 月 2 日: Django 1.0 final リリース。 9 月 6,7 にマウンテンビュー で開催される DjangoCon で、 Django 1.0 リリースパーティ。

もちろん、予定のタイムラインなので、状況によって変更する可能性もあります。 最新情報は Django プロジェクトの wiki に掲載します:

http://code.djangoproject.com/wiki/VersionOneRoadmap

リリース作業で手伝えること

高い品質の 1.0 リリースを提供するために、皆さんの手助けが必要です。先にも述 べたように、この alpha リリースは実運用向けでは ありません 。安全なテスト 環境で使ってみて、バグや問題を見付けたら Django の開発チームに報告してくだ さい。自分の発見した問題がすでに明らかでないか、 Django のチケットトラッカ を使って探してください:

http://code.djangoproject.com/timeline

発見した問題に対応するチケットが見付からなければ、新たなチケットをオープン してください。

また、 1.0 リリースに向けての進捗を含め、 Django の開発に関する議論は、 django-developers メーリングリスト:

http://groups.google.com/group/django-developers

と、IRC サーバ irc.freenode.net#django-dev チャネルで常時行って います。 Django の開発を手伝いたいのなら、ぜひ参加して、議論に加わってくだ さい。

Django プロジェクトへの貢献方法は、オンラインドキュメントにも記載しています:

contributing to Django

コードの開発、ドキュメントの作成、そしてチケットのトリアージや、誰かの提出 したバグフィクスのテストなど、どんなレベルの貢献でも歓迎します。