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

revision-up-to:5804 (0.97pre SVN)

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

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

適合性と API の安定性

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

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