databrowse
| revision-up-to: | 7127 (0.97pre SVN) |
|---|
databrowse は、データのブラウジングを実現するための Django アプリケーション です。
Django の Admin サイトはモデルに対するイントロスペクションによって、動的に 管理サイトを構築しています。 databrowse も同様に、モデル定義からリッチなブ ラウジングウェブサイトを生成します。
Note
databrowse は 非常に 新しいアプリケーションで、まだ活発な開発下にあ ります。次の Django のリリースまでには相当変更が加えられるでしょう。
そのことさえ念頭におけば、 databrowse 自体はとても簡単に利用でき、コー ドを書く必要もありません。ですから、ごくごくわずかに時間を費してコード を書くだけで試せます。
databrowse の使い方
Django に databrowse のデフォルトのテンプレートを教えます。やり方は いくつかあります:
- 'django.contrib.databrowse' を INSTALLED_APPS に追加します。 この方法は、 TEMPLATE_LOADERS 設定に app_directories テン プレートローダが入っている場合に使えます (デフォルトでは入っていま す) 。詳しくは テンプレートローダのドキュメント を参照してくだ さい。
- あるいは、 django/contrib/databrowse/templates ディレクトリへの 完全なパスを調べ、 TEMPLATE_DIRS 設定に追加してください。
databrowse サイトにいくつかモデルを登録します:
from django.contrib import databrowse from myapp.models import SomeModel, SomeOtherModel databrowse.site.register(SomeModel) databrowse.site.register(SomeOtherModel)
モデルの インスタンスではなくクラス を登録してください。
このコードは、何らかのタイミングで実行される場所であればどこに書いて もかまいません。例えば URLconf (urls.py) に書くのがよいでしょう。
URLconf を変更して、 databrowse モジュールを import します:
from django.contrib import databrowse
そして、以下の一行を追加します:
(r'^databrowse/(.*)', databrowse.site.root),
プレフィクスはなんでも構いません -- databrowse/ でも db/ でも なんでも好きなプレフィクスを使ってください。
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 で必要なログインフォー ムの作成です。 ユーザ認証のドキュメント には、テンプレートの詳細版と簡略 版の両方を記載しています。