2011年8月11日木曜日

insert_at with commit arg @ django-cms 2.2 b1

やられた。
django-cms 2.2 b1から従来のdjango-cms内のmpttからdjango-mpttに変更になっている。

ここのDjango-cmsでpageをスクリプトで挿入する方法が"commit=True"から"save=True"に変更になっている。

2011年8月4日木曜日

AdminSiteのソースを覗く

adminサイトをfancyにカスタマイズしたいので、とりあえずdjango.contrib.adminのsites.pyを覗いてみた。

class AdminSiteがデフォルトではdjango.contrib.admin.siteとしてインスタンス化される。

    AdminSite.index_template
    AdminSite.app_index_template
    AdminSite.login_template
    AdminSite.logout_template
    AdminSite.password_change_template
    AdminSite.password_change_done_template
にテンプレートをセット

modelのadminは
self._registry = {} # model_class class -> admin_class instance
に格納
  AdminSite.index
が全体のモデルの一覧を表示
  AdminSite.app_index
が各モデルを表示
documentsによるとこれを継承したクラスをつくれとのこと。

admin template customize

置き場所は
TEMPLATE_DIRS
     │
     ├admin
     │  │
           ├app_name
           │   │
           │   ├model_name
           │   │    │
           │   │    ├customized_template_for_specific_models
           │   │
           │   ├customized_template_for_all_models