2010年11月4日木曜日

Django-cmsでApphook

djangoアプリをdjango-cmsのメニューに乗っけるにはApphookを使うのでけれど、Apphookを追加してpageのAdvanced Settingsでアプリを指定してもcmsのメニューには表示されない
cmsのメニューに表示するにはmenu.pyが必要。
メニューに表示されないが、ページのURLに続いて直打でそれぞれのページを打ち込めば表示はされる。
cms_app.py
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _
#from menu import HogeMenu    #<-必要

class HogeApphook(CMSApp):
    name = _("Hoge")
    urls = ["hoge.urls"]
    #menus = [HogeMenu]    #<-必要

apphook_pool.register(HogeApphook)
cmsのページでアプリを指定
urls.pyが以下なら
urlpatterns += patterns('hoge.views',
    url(r'edit/$', 'edit_Hoge'),
    url(r'(?P<page>\d+)/$', 'list_Hoge', name='list_Hoge'),
)
http://hogehoge/pageURL/edit/
http://hogehoge/pageURL/1/
でアクセスできる。

0 件のコメント:

コメントを投稿