Django バージョン 0.95 リリースノート

revision-up-to:17812 (1.4)

Django 0.95 リリースへようこそ。

Django 0.95 は、 2006 年 1 月の 0.91 リリース以来の素晴らしい改良の数々でいっ ぱいのリリースです。このリリースに盛り込まれた変更をここですべて挙げるのは 大変なので、簡単にまとめたものを以下に示すことにします。

適合性と API の安定性

このリリースは、 Django を使ったプロダクションレベルのアプリケーションに取 り組みたい開発者への、安定したリファレンスポイントの提供を目的としています。

とはいえ、このリリースは 1.0 ではないので、 1.0 になるまでにはいくつか変更 を採り入れる予定でいます。フレームワークのどの部分が変更されるのか (そして どの部分が変更 されない のか) を知りたければ、配布物の docs/ ディレクトリ にある api-stability.txt (<misc-api-stability) を参照してください。

このドキュメントで「API 変更の対象」と書かれた機能を使う必要がでてくるかも 知れませんが、今の機能に問題がなくて、将来 API が変更されるかも知れないと分 かっているのなら、使っていただいてかまいません。

好運なことに、 Django のコア API のほとんどは 1.0 まで変更しない予定です。 0.95 から 1.0 にかけての変更は、 0.91 から 0.95 にかけての変更ほど大がかり ではないはずです。

変更点と新たな機能

このリリースの主な変更点 (とりわけ現在 0.91 リリースを使っている開発者にとっ て重要な変更点) は、 ‘magic-removal’ 開発ブランチからマージされた内容に基づ く変更です。このブランチは、オープンソースになる前の初期の Django で決めら れた設計によって課されていた、 Django コードの書き方に対するいくつもの制約 を取り払っています。その結果、より自然でかつ Pythonic な、期待通りに動作す るコードを書けるようになり、背後で起きている「黒魔術」を減らせました。

その他に、このリリースのもうひとつのメインテーマとして、劇的なユーザビリティ の向上があります。このリリースではエラーメッセージやドキュメントなどに数え 切れない程の変更が施され、開発者の QOL を向上させています。

0.95 に採り入れられた新たな機能と変更は以下の通りです:

  • データベースからオブジェクトを取り出すのに、より一貫性のある、自然な フィルタインタフェースを使うようになりました。
  • ユーザ定義モデル、関数、および定数が、それらを定義しているモジュール の名前空間で参照できるようになりました。(以前のバージョンでは、全てが django.models.* という名前空間から黒魔術的に提供されていました。)
  • FlatPage, Sites, Redirects といったオプションのアプリケーションをコア システムから脱カップリングして、 django.contrib に移しました。これら のアプリケーションを使いたくない場合、アプリケーションのデータベース テーブルをインストールしなくてすむようになりました。
  • データベースのトランザクション管理をサポートするようになりました。
  • 認証やユーザ識別バックエンドを自作できるようにし、 LDAP のような別の システムをつかってユーザ認証を行えるようになりました。
  • 新たな「マネジャ」API を介して、モデルに簡単に自作のテーブルレベル関 数を追加できるようにしました。
  • データベースなしで Django を使えるようになりました。簡単に言えば、動 的ページを生成させたいだけなら、データベースを稼働させなくてもフレー ムワークを使えるということです。換言すれば、 URLconf とビューだけの構 成で利用できるということです。以前のバージョンでは、実際にデータベー スを使うかどうかに関わらず、設定を行わねばなりませんでした。
  • モデルの save() や delete() をより明示的かつ自然な方法でオーバライド できるようになり、 pre_save() や post_save() メソッドフックを使わなく てもよくなりました。
  • 環境変数を設定しなくても、フレームワークの個々の部分に対する設定を行 えるようになりました。これにより、例えば Django テンプレートシステム だけを他のアプリケーションで使ったりできるようになりました。
  • 国際化 (i18n) サポートの範囲を広げ、フレームワークの各部を一層国際化 させました。Django のコードベースはテンプレートも含めて翻訳され、31 の言語で少なくとも部分的に翻訳されています。新たにアラブ語、中国語、 ハンガリー語、ウェールズ語で Django admin サイトを使えるようになりま した。

0.91 互換のコードを 0.95 コードベースに移植する際に必要な変更は、場合によっ てはかなりの量になります。とはいえ、そのほとんどは合理的な作業であり、一度 だけやれば済むようなものです。変更に必要な作業は Wiki の Removing The Magic のページに列挙してあります。また、移植作業を準備する 際に必要な チェックリスト のページもあります。

問題の報告と手助けの求め方

Django を使った問題解決で手助けが必要になったときは? 配布物に入っているドキュ メントは Django ウェブサイト から オンラインで 入手できます (訳注: 日本語ドキュメント もあります)。特に、何度も寄せられる質問について回答し ている FAQ ドキュメントを一読するようお勧めします。

より個人的な手助けが必要な場合には、 django-users メーリングリストがあり ます。このリストは非常に活発で、 2,000 を超える読者があらゆる Django に関す る問題解決の手助けをしてくれます。とはいえ、よくある多くの質問にはなにがし かの共通性があり、その名かには既に回答されているものもあるので、まずはアー カイブをチェックするよう勧めます。

最後に、 IRC ですぐ応答をもらいたい人のために、 irc.freenode.net には #django というチャネルがあります。このチャネルには世界中の Django ユーザや 開発者が常に集まっています。気さくな人達がいつもいて、手助けをしてくれたり、 話相手になってくれます。

Django を使ってくれてありがとう!

The Django Team July 2006