.. _ref-contrib-databrowse: ========== databrowse ========== :revision-up-to: 11321 (1.1) .. module:: django.contrib.databrowse :synopsis: データのブラウジングを実現するための Django アプリケーション です。 databrouse はデータを閲覧するためのインタフェースを簡単に作成するための Django アプリケーションです。 Django の Admin サイトはモデルに対するイントロスペクションによって、動的に 管理サイトを構築しています。 databrowse も同様に、モデル定義からリッチなブ ラウジングウェブサイトを生成します。 .. admonition:: Note databrowse は **非常に** 新しいアプリケーションで、まだ活発な開発下にあ ります。次の Django のリリースまでには相当変更が加えられるでしょう。 そのことさえ念頭におけば、 databrowse 自体はとても簡単に利用でき、コー ドを書く必要もありません。ですから、ごくごくわずかに時間を費してコード を書くだけで試せます。 databrowse の使い方 =================== 1. Django に databrowse のデフォルトのテンプレートを教えます。やり方は いくつかあります: * ``'django.contrib.databrowse'`` を :setting:`INSTALLED_APPS` に追加し ます。この方法は、 :setting:`TEMPLATE_LOADERS` 設定に ``app_directories`` テンプレートローダが入っている場合に使えます (デフォ ルトでは入っています) 。詳しくは :ref:`テンプレートローダのドキュメント ` を参照して ください。 * あるいは、 :file:`django/contrib/databrowse/templates` ディレクトリへ の完全なパスを調べ、 :setting:`TEMPLATE_DIRS` 設定に追加してください。 2. databrowse サイトにいくつかモデルを登録します:: from django.contrib import databrowse from myapp.models import SomeModel, SomeOtherModel databrowse.site.register(SomeModel) databrowse.site.register(SomeOtherModel) モデルの *インスタンスではなくクラス* を登録してください。 このコードは、何らかのタイミングで実行される場所であればどこに書いて もかまいません。例えば :ref:`URLconf ` (``urls.py``) に書くのがよいでしょう。 3. URLconf を変更して、mod:`~django.contrib.databrowse` モジュールを import します:: from django.contrib import databrowse そして、以下の一行を追加します:: (r'^databrowse/(.*)', databrowse.site.root), プレフィクスはなんでも構いません -- ``databrowse/`` でも ``db/`` でも なんでも好きなプレフィクスを使ってください。 4. Django サーバを起動して ``/databrowse/`` をブラウザで表示してください。 ユーザにログインを要求する ========================== たった数行追加するだけで、ビューへのアクセスをログインしているユーザに限定 できます。まず、以下の import 行を URLconf に追加します:: from django.contrib.auth.decorators import login_required 次に、 :ref:`URLconf ` を変更して、 :func:`databrowse.site.root` ビューを :func:`django.contrib.auth.decorators.login_required` で修飾 (decorate) し ます:: (r'^databrowse/(.*)', login_required(databrowse.site.root)), :ref:`ユーザ認証のドキュメント ` にあるような、ログインを サポートするための :ref:`URLconf ` を設定していないのなら、 以下のようなマッピングも追加しておきます:: (r'^accounts/login/$', 'django.contrib.auth.views.login'), 最後のステップは、 :func:`django.contrib.auth.views.login` で必要なログイン フォームの作成です。 :ref:`ユーザ認証のドキュメント ` に は、テンプレートの詳細版と簡略版の両方を記載しています。