Google App Engine用フレームワーク Kay の新しいURLマッピングによる汎用ビューグループの設定

Google App Engine用フレームワーク Kay の新しいURLマッピング導入されたことで、汎用ビューグループを古い方式のURLマッピングで使用していると問題が発生するようです。

ドキュメントの例に従い、古い方式でURLマッピングの設定をすると次のようになります。

myapp/urls.py

def make_rules():
  return [
    EndpointPrefix('myapp/', [
      Rule('/', endpoint='index'),
    ]),
  ]

all_views = {
  'myapp/index': myapp.views.index,
}

class MyCRUDViewGroup(generics.CRUDViewGroup):
  model = MyModel
  form = MyForm

view_groups = [MyCRUDViewGroup()]

この場合、「http://localhost:8080/」にアクセスすると、404エラーになります。
indexビューの設定が失われてしまっているようです。

新しいURLマッピングの方式で以下のように設定すると、正しく動作します。

myapp/urls.py

view_groups = [
  ViewGroup(
    Rule('/', endpoint='index', view='myapp.views.index'),
  ),
  MyCRUDViewGroup(),
]

2010年6月8日 追記
CRUDViewGroup の場所が変更になりました。(参考:CRUDViewGroup を移動しました – kay-users-ja | Google グループ)

変更前 => kay.generics.CRUDViewGroup
変更後 => kay.generics.crud.CRUDViewGroup

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です