我正在尝试以不同的方式使用 django-cms 应用程序挂钩。我只有一个应用程序,具有不同的网站页面。对于每个页面,我创建了一个 AppHook,因为我想通过 cms 控制所有这些页面。
为此,在应用程序内部,我做了一个包,每个页面都有 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
尽管有不同的 apphHooks。
例子:
如果我写了一个 slug 联系人(它有一个到 WebsiteContacts 的 apphook),它仍然会转到与 WebsiteHome(app 挂钩)关联的 home_urls.py 文件。
有没有人遇到过类似的问题?
基本上,我想说的是正则表达式有问题。我不能:
url(r'^$', [...]),
只要:
url(r'^', [...]),
如果我输入“$”,它不会输入任何正则表达式。如果我拿走它,它总是在
网站.urls.home_urls.py
尽管 slug 具有不同的 Apphooks,但与不同的 urls.py 文件相关联。