Django オンラインドキュメント和訳 更新しました。 Revision 5221 (2007/05/14). newforms 移行の計画についての記述が更新されています。 c5237 を反映しました。 (2007/05/15)
以下、 diff -r 5213:5221 の主な変更分です。
http://michilu.com/django/doc-ja/newforms/#id1
django.newforms はリリース 0.96 で新たに採り入れられた機能ですが,もう 「新しい(new)」機能ではなくなったので,将来 django.forms に名前を変更す る予定です.現在の django.forms は Django 1.0 までの間 django.oldforms という名前で利用でき,その後削除するのが適当だと考えて います.
この変更は,現在皆さんが利用しているコードの将来のバージョンに対する互換性 に直接的に関わってきます.以下の移行計画を良く読んで,それに沿ったコードを 書くようにしてください:
従来のフォームフレームワーク (現在の django.forms) は django.oldforms にコピーされています.従って,互換性のない変更を 座して待つことなく, 今すぐ コードの修正に取り掛かれます.修正は, 各アプリケーションのコードを以下のように書き換えるだけです:
from django import forms # 移行前 from django import oldforms as forms # 移行後次の Django リリース (0.97) では,現在の django.newforms を django.forms に移動します.これは互換性のない変更なので,以前の django.forms を使い続けたい人は,上記に従って import 文を変更する 必要があります.
次の Django リリース,すなわち新たな django.forms が導入されたリ リースの 後 , 0.98 か 1.0 のいずれか先に出たバージョンで, django.oldforms をコードから除去します.
http://michilu.com/django/doc-ja/newforms/#id4
errors や is_invalid() に何度アクセスしても,検証のルーチンはたった 一度しか呼ばれません.別の見方をすれば,検証の処理には副作用があり,その副 作用はたった一度しか呼び出されないということです.
cleaned_data には, Form 内で定義されている 全ての フィールドのキー と値が入ります.フォームに渡したデータに,必須でないフィールドの値が入って いない場合でもです.下の例では,データ辞書には nick_name フィールドの値 が入っていませんが, cleaned_data には空の値が入っています
>>> class OptionalPersonForm(Form):
... first_name = CharField()
... last_name = CharField()
... nick_name = CharField(required=False)
>>> data = {'first_name': u'John', 'last_name': u'Lennon'}
>>> f = OptionalPersonForm(data)
>>> f.is_valid()
True
>>> f.cleaned_data
{'nick_name': u'', 'first_name': u'John', 'last_name': u'Lennon'}
:
この例で, cleaned_data の中の nick_name は空文字列なのは, nick_name が CharField であり, CharField は空の値を空文字列と みなすからです.各フィールドタイプは「空の」値が設定されています.例えば, DateField の場合,空の値は空文字列ではなく None になります.
http://michilu.com/django/doc-ja/databrowse/#id1
URLconf を変更して, databrowse モジュールを import します:
from django.contrib import databrowse
そして,以下の一行を追加します:
(r'^databrowse/(.*)', databrowse.site.root),
プレフィクスはなんでも構いません
