バージョンアップ
風邪の影響が抜けきらないまま、何の気はなしに、なんとなく気分で、なんとも無為に、足元サーバーの0.96のままだったDjangoをアップグレード。(1, 1, 0, 'alpha', 0) にあげてみた。このマシン、課内とかのちょっとしたアンケートとかにも使ってるので、下手なことはしてはだめなんだけど、まあ別ディレクトリに分けてるし大丈夫だろうとか、もうバカ丸出しで、何も考えずにsvn をかけたんだけど、それがまた運の悪いことに、古いdjangoの置いてある場所でやってしまって上書き一番。いけてないいうか、ほんともう 死のう... orz、って感じで泣けてきた。こういう時の記憶って熱にうなされてぼうっとしてて(実際熱がある)何やってんだか自分でもよくわからなくなっているので何故こんなアホをしていたのかは明確じゃない。。。まずっ、って思ったときにはもう手遅れで(いやまあ元に戻せばいいんだけどね)、なんかadmin使ってた楽々アンケートのページとかが"You don't have permission to edit anything. "とか言って、とってもイケズな状態になっている。
なんかしばらく呆然としたあと、「まあ勉強すればいいか」ということになっていろいろ調べてみる。
http://docs.djangoproject.com/en/dev/intro/tutorial02/?from=olddocs
admin.autodiscover()
一番の変更点はここみたい。これをしないと INSTALLED_APPSを見に行かないので上のようなメッセージとなっていたようだ。
urls.pyにこれを追加。
from django.conf.urls.defaults import * from django.contrib import admin admin.autodiscover() # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() urlpatterns = patterns('', : :
Adminのカスタマイズ(Adminクラス)
以前はモデルクラス上にインナークラスで Adminを作っていたけど、別クラスで class ModelAdmin(admin.ModelAdmin) みたいなのを定義してここに書く。admin.site.register()を使って登録する。
from Enquete.Calendar.models import Entry from django.contrib import admin class EntryAdmin(admin.ModelAdmin): list_display = (..<見せたいもの>...) admin.site.register(Entry, EntryAdmin)
とりあえずこれでいけるみたい。
結論
調子の悪いときは早く帰って寝るべきだ。