1

问题上下文

我负责为一个项目设计 cms 架构。

要求规定一组编辑应该能够创建“项目”。

每个项目..

  • 保存有关自身的元数据
  • 可以从其他地方查询(例如前 5 个项目)。
  • 有一个页面显示有关它的信息。(不需要是cms页面实例)
  • 可以连接到国家(意味着该项目的实施存在于选定的县)。
  • 可以有子页面,这些子页面也可以嵌套。

想象的例子

使用 django-cms 文档作为基础,我将生成的结构成像如下:

  • 项目(apphook)
    • “项目 1”(project 1模型实例页面)
    • “项目 2”(project 2模型实例页面)
      • “项目 2 子页面 1”(project 2模型实例的子页面)
      • “项目 2 子页面 2”(project 2模型实例的子页面)
        • “项目 2 子页面”(“项目 2 子页面 2”的子页面)

然而,这似乎不存在,或者至少我没有看到任何关于如何获得这种结构的参考资料。

在一个视频中,我听说只要有一个 apphook.. 子页面就没有意义了。在其他地方,我在理论上读到如果钩子足够宽松..它可以结合起来。但是,即使这样有效.. 子页面也不适合自定义 apphook 模型的实际实例。

PS:我目前正在使用:django-cms==3.3.0

问题

如何使用 django-cms 展示这样的结构?

我认为可以通过为每个项目设置一个 apphook 页面来完成。在这种情况下.. 必须为每个新创建的项目重新启动服务器。这似乎不是很优雅。

备择方案

我一直在与 wagtail 合作完成之前的一个项目。ProjectPage因此,我确实知道如何使用 wagtail轻松使用ProjectSubpage模型来实现这样的结构。我拒绝放弃 django-cms 能够复制这种功能。我对替代范式和方法持开放态度。也许有一些我没有想到的。如果是这样,请告诉我。:)

要求

非常欢迎指导和想法!请告诉我您是否知道如何获得它或有一些想法可以为我指明正确的方向。

谢谢!

4

1 回答 1

1

这里给你几点。

  1. django CMS 可以愉快地为页面“下方”和 apphook 提供服务,但 apphook 在 URL 解析期间获得优先权。因此,只需确保您的 apphook 的 URL 模式不会吞噬所有内容,并且子页面应该没问题。

  2. 另一种方法是制作一个包含“类似页面”的属性(标题、元属性等)和至少一个 PlaceholderField 的一对多表。然后可以使用它来呈现看似正常的 CMS 页面,apphook 本身可以通过其视图进行控制。因此,您可以拥有特定于 apphook-model 的上下文和 url 模式,并且仍然拥有 CMS 的几乎所有前端编辑功能。

我希望这有帮助!

于 2016-06-16T19:36:28.340 回答