Databrowseを導入する
Databrowseとは
Admin siteのようにmodelから構築します。
Admin siteと違ってデータを登録することができず、見るだけのページとなります。
仕様
以下のようなmodelが存在しているとします。
from django.db import models from django.contrib.auth.models import User from datetime class Tag(models.Model): tag = models.CharField(max_length = 10) def __unicode__(self): return self.tag class Blog(models.Model): title = models.CharField(max_length = 50) author = models.Foreignkey(User) content = models.TextField() post_date = models.DateTimeField(default = datetime.datetime.now) tags = models.ManyToManyField(Tags) def __unicode__(self): return self.titleURLは'/databrowse/'とします。
Databrowseの導入
settings.py編集
settings.py(抜粋)
INSTALLED_APPS = (
…
'django.contrib.databrowse', #追加
…
)
urls.py編集
Databrowseへの登録の仕方はAdmin siteと似ています。
urls.py(抜粋)
…
from django.contrib import databrowse #追加
from appname.models import Tag, Blog #追加
databrowse.site.register(Blog) #追加
…
urlpatterns = patterns('',
…
(r'^databrowse/(.*)', databrowse.site.root),
#(r'^(.*)', databrowse.site.root), #ルートで表示したい場合
…
)
Databrowse表示
アクセスすると以下のように表示されます。
次に"Blogs"をクリックします。
デフォルトで並べ替えの機能も備わっています。
データ投入
Admin siteやShellモードから投入します。
再度、Databrowse表示
前回と少し違った表示になりました。
__unicode__の返り値が表示されます。
'firefox'をクリックします。
モデルの全ての値が表示されます。 'Blogs'をクリックするとデータをリスト形式で表示します。
Tagモデル登録
TagモデルをDatabrowseで使うために、urls.pyを修正します。
urls.py(抜粋)
…
from django.contrib import databrowse
from appname.models import Tag, Blog
databrowse.site.register(Blog)
databrowse.site.register(Tag) #追加
…
urlpatterns = patterns('',
…
(r'^databrowse/(.*)', databrowse.site.root),
#(r'^(.*)', databrowse.site.root), #ルートで表示したい場合
…
)
Databrowseへアクセス
前回と同様'firefox'をクリックします。
Tagモデルを登録したことにより、Tagsのデータにリンクがつきました。
'Apple'をクリックすると、'Apple'のデータと'Blog'モデルで使用している'Tag'データが表示されます。
このようにDatabrowseを導入するだけで、データを表示するページが手軽に扱えます。







