【发布时间】:2011-07-11 19:29:16
【问题描述】:
我正在尝试将 django 应用程序与 django-cms 集成。我正在使用基本 Django 教程中提到的基本“投票”应用程序,并遵循here 的指导方针。
现在我可以集成应用程序并可以查看“投票”页面。但是当我按“提交”时,django-cms 给了我错误
“CMS:找不到“polls/1/vote”的页面
更新:如果我在主 urls.py 中添加以下行,一切正常。
(r'^polls/', include('polls.urls')),
但在 django 和 django-cms 中通常不鼓励这样做。有出路吗?
【问题讨论】:
-
为什么不鼓励在 django 和/或 django-cms 中添加“路由”?
-
@poelinca - 因为这意味着应用程序不容易移植,因为它需要手动更改 urls.py。理想情况下,应用程序应自动锁定。
-
如果您使用 django.contrib.admin 应用程序,您仍然需要同时编辑 settings.py 和 urls.py 对吗?那么为什么 polls.py 应该采取不同的行动呢?将 urls.py 也视为配置文件(如 settings.py )。 ps:这是从我用 django 玩了几个小时的 php 角度来看的。
-
将 wrt 移植到 django-cms 的要点是,如果应用程序在 /polls/ 上运行,您应该能够将其更改为 /new-polls/,而无需手动编辑 urls 文件。使用 django-cms,您可以通过创建 apphook 并将这些 apphook 附加到页面来做到这一点。
-
admin app 是一种特殊情况,每次 django 安装只需要一次。您可能需要添加数百个应用程序,这将导致 urls.py 非常混乱。因此,理想情况下,您应该只在 INSTALLED_APPS 设置中添加您的应用,这样就可以了。
标签: django django-models django-cms