django-cms アプリ フックを別の方法で使用しようとしています。私は、異なるウェブサイトページを持つアプリしか持っていません。cmsですべてを制御したいので、ページごとにAppHookを作成しました。
これを行うには、アプリ内で、各ページの urls.py ファイルを使用してパッケージを作成しました。例:
/urls
/home_urls.py
/portfolio_urls.py
/contacts_urls.py
いくつかのアプリ フックの定義を次に示します。
class WebsiteHome(CMSApp):
name = _("cms-home")
urls = ["website.urls.home_urls"]
apphook_pool.register(WebsiteHome)
class WebsiteServices(CMSApp):
name = _("cms-services")
urls = ["website.urls.services_urls"]
apphook_pool.register(WebsiteServices)
とにかく、問題は次のとおりです。正規表現を制御できません。それぞれ、見つかった最初の正規表現に入力しています。この場合は、
website.urls.home_urls
それにもかかわらず、異なるapphooksを持っています。
例:
slug 連絡先 (WebsiteContacts への apphook がある) を作成しても、websiteHome (app hook) に関連付けられた home_urls.py ファイルに移動します。
誰かが同様の問題を抱えていましたか?
基本的に私が言おうとしているのは、正規表現に何か問題があるということです。私は作ることができません:
url(r'^$', [...]),
それだけ:
url(r'^', [...]),
「$」を入れると、どの正規表現にも入りません。私がそれを取れば、それは常に上に入る
website.urls.home_urls.py
スラッグにはさまざまな Apphook があり、さまざまな urls.py ファイルに関連付けられています。