2012-02-04 6 views
0

私はdjango-cmsで遊んでいます。既存のアプリケーションにapp-hookを作成したいと思います。 app-hookを表示するように選択したページがホームページではない場合は、これは問題ありません。django-cms appフックでホームページエラー

from cms.app_base import CMSApp 
from cms.apphook_pool import apphook_pool 
from django.utils.translation import ugettext_lazy as _ 

class FilmApphook(CMSApp): 
    name = _("Film Apphook") 
    urls = ["films.urls"] 

apphook_pool.register(FilmApphook) 

私はURLを持って次のようにcms_app.pyがある

from django.conf.urls.defaults import patterns, include, url 

urlpatterns = patterns('films.views', 
    url(r'^$', 'index'), 
    url(r'^(?P<film_id>\d+)/$', 'detail'), 
) 

は、これは私がしてフックてる自分のアプリケーションのための私urls.pyです

/ (<- set to have the slug home, but django-cms doesn't seem to serve it at /home if it's the startpage) 
/news 
/... 

ホームページを設定してapp-hookを設定すると、私のfilms.viewsのインデックスがレンダリングされます。購入すると404の詳細が表示されます。

すなわち

/ <- correctly renders films.index 
/home <- 404 
/home/1 <- 404 
/1 <- 404 

私が代わりにニュース下にあるアプリフックを変更した場合は(私はホーム・ページ別のページを作成する場合)、すべてが、正常に動作します。

/news <- correctly renders films.index 
/news/1 <- correctly renders films.detail 

問題はジャンゴ-CMSは、スタートページのためのスラグを無視することのようです、この問題を回避するためにとにかくはありますか?

私はおそらく私がこのラウンド動作するように上書きURLを設定しようとしたことに言及し、しばらく/家庭なければならないが、次に提供され、/ホーム/ 1はまだ404

答えて

1

を与えることは危険なの少しです回避策はありますが、私は今日それと一緒に暮らすことができます。私は基本的に、/ homeという名前の/ homeに子ページを追加し、ナビゲーションにないことを確認し、そこにapp-hookを追加します。

自宅/偽子ページには独自のコンテンツがないため、私はそのサイトで暮らすことができます。私は自分が望むURLを残しています。この答えを与えるため

https://github.com/divio/django-cms/issues/47

+0

ありがとう:

/ <- films.views.index /films/1 <- films.views.details/1 
thnee

0

この

はジャンゴ-CMSのバージョンのバグかもしれません。すべての目的と目的のために、それは動作します。欠点は、管理者の不要なページが表示されることです。私はページのreverse_idと{%page_attribute "slug" 'myReverseId'%}を設定して、サブページのスラッグを得ることができました。
+0

私は2.2のバグを修正しています。app-hookはうまくいきます(つまり、インデックスはうまくいきます)、URLのルーティングだけがうまくいきます。 –

関連する問題