View All Posts. MiCHiLU.com powered by Django ;-)

[Django]: Django和訳ドキュメント sync to r5221

Django オンラインドキュメント和訳 更新しました。 Revision 5221 (2007/05/14). newforms 移行の計画についての記述が更新されています。 c5237 を反映しました。 (2007/05/15)

以下、 diff -r 5213:5221 の主な変更分です。

newforms ライブラリ - 移行の計画

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.newformsdjango.forms に移動します.これは互換性のない変更なので,以前の django.forms を使い続けたい人は,上記に従って import 文を変更する 必要があります.

  • 次の Django リリース,すなわち新たな django.forms が導入されたリ リースの , 0.98 か 1.0 のいずれか先に出たバージョンで, django.oldforms をコードから除去します.

newforms ライブラリ - フォームを使ってデータを検証する

http://michilu.com/django/doc-ja/newforms/#id4

errorsis_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_nameCharField であり, CharField は空の値を空文字列と みなすからです.各フィールドタイプは「空の」値が設定されています.例えば, DateField の場合,空の値は空文字列ではなく None になります.

databrowse - databrowse の使い方

http://michilu.com/django/doc-ja/databrowse/#id1

URLconf を変更して, databrowse モジュールを import します:

from django.contrib import databrowse

そして,以下の一行を追加します:

(r'^databrowse/(.*)', databrowse.site.root),

プレフィクスはなんでも構いません

Mon, 14 May 2007 15:14:08 +0900 source edit
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.
View All Posts. MiCHiLU.com powered by Django ;-)