databrowse

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

databrowse は、データのブラウジングを実現するための Django アプリケーション です。

Django の Admin サイトはモデルに対するイントロスペクションによって、動的に 管理サイトを構築しています。 databrowse も同様に、モデル定義からリッチなブ ラウジングウェブサイトを生成します。

Note

databrowse は 非常に 新しいアプリケーションで、まだ活発な開発下にあ ります。次の Django のリリースまでには相当変更が加えられるでしょう。

そのことさえ念頭におけば、 databrowse 自体はとても簡単に利用でき、コー ドを書く必要もありません。ですから、ごくごくわずかに時間を費してコード を書くだけで試せます。

databrowse の使い方

  1. Django に databrowse のデフォルトのテンプレートを教えます。やり方は いくつかあります:

    • 'django.contrib.databrowse'INSTALLED_APPS に追加します。 この方法は、 TEMPLATE_LOADERS 設定に app_directories テン プレートローダが入っている場合に使えます (デフォルトでは入っていま す) 。詳しくは テンプレートローダのドキュメント を参照してくだ さい。
    • あるいは、 django/contrib/databrowse/templates ディレクトリへの 完全なパスを調べ、 TEMPLATE_DIRS 設定に追加してください。
  2. databrowse サイトにいくつかモデルを登録します:

    from django.contrib import databrowse
    from myapp.models import SomeModel, SomeOtherModel
    
    databrowse.site.register(SomeModel)
    databrowse.site.register(SomeOtherModel)
    

    モデルの インスタンスではなくクラス を登録してください。

    このコードは、何らかのタイミングで実行される場所であればどこに書いて もかまいません。例えば URLconf (urls.py) に書くのがよいでしょう。

  3. URLconf を変更して、 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

次に、 URLconf を変更して、 databrowse.site.root ビューを login_required で修飾 (decorate) します:

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

ユーザ認証のドキュメント にあるような、ログインをサポートするための URLconf を設定していないのなら、以下のようなマッピングも追加しておきます:

(r'^accounts/login/$', 'django.contrib.auth.views.login'),

最後のステップは、 django.contrib.auth.views.login で必要なログインフォー ムの作成です。 ユーザ認証のドキュメント には、テンプレートの詳細版と簡略 版の両方を記載しています。