revision-up-to: | 11321 (1.1) |
---|
databrouse はデータを閲覧するためのインタフェースを簡単に作成するための Django アプリケーションです。
Django の Admin サイトはモデルに対するイントロスペクションによって、動的に 管理サイトを構築しています。 databrowse も同様に、モデル定義からリッチなブ ラウジングウェブサイトを生成します。
Note
databrowse は 非常に 新しいアプリケーションで、まだ活発な開発下にあ ります。次の Django のリリースまでには相当変更が加えられるでしょう。
そのことさえ念頭におけば、 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 を変更して、mod:~django.contrib.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()
ビューを
django.contrib.auth.decorators.login_required()
で修飾 (decorate) し
ます:
(r'^databrowse/(.*)', login_required(databrowse.site.root)),
ユーザ認証のドキュメント にあるような、ログインを サポートするための URLconf を設定していないのなら、 以下のようなマッピングも追加しておきます:
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
最後のステップは、 django.contrib.auth.views.login()
で必要なログイン
フォームの作成です。 ユーザ認証のドキュメント に
は、テンプレートの詳細版と簡略版の両方を記載しています。
Oct 26, 2017