【问题标题】:Attach page to all root page trees将页面附加到所有根页面树
【发布时间】:2018-05-15 23:51:09
【问题描述】:

在 wagtail 中,我如何将根页面(以及它的树)附加到所有站点的根页面?

例如- 我有网站 1.com、2.com 的根页面设置为 1 个主页、2 个主页在 wagtail “根”下。

现在...假设这些网站都共享一个博客...如何将博客设置为这两个网站?我必须将它单独添加到他们的根页面下,这是多余的。

此外,这是一个更普遍的问题,因为网站也可以共享静态页面。那么,既然 wagtail 使用树结构,我是否应该在根目录中添加一个额外的级别?即使这样做....然后我必须覆盖我设置的根页面中的 teh serve 以代理我想要的正确页面。

这看起来很笨拙。鉴于 wagtail 可以轻松管理不同的站点,我认为我忽略了一些有助于站点之间链接页面的东西。

【问题讨论】:

  • 您不能将页面置于两个父级之下,但这里有一个关于跨多个站点的内容可能类似的问题:stackoverflow.com/a/47088231/8070948
  • @LBBenJohnston 感谢您提供的链接。如果您不介意我似乎无法解决,我确实还有一个额外的问题。是否可以代理 wagtail @route 视图以使用预先存在的视图。例如- 我有一个用一堆表单逻辑构建的会话向导视图。搬到了鹡鸰。我只是想用新的路线来服务这个预先存在的向导。试图在模型下的视图中复制它将是一场噩梦。
  • 如果您提前知道路线,或者知道它不会改变 - 一个 hacky 方法是在您在 urls.py 中设置 Wagtail URL 之前为向导设置 URL - 这意味着这些路由永远不会到达 Wagtail 路由。
  • 感谢您的建议,我只是通过保留我的 views.py 并调用 SessionWizard.as_view()(request, self, *args, **kwargs) 来代理它,并且似乎可以正常工作任何基于类的查看。或者,可以类似地使用函数。
  • @LBBenJohnston 很抱歉再次打扰您,因为您已经帮助了我很多...但是,如果您能提供对我的新问题的见解,您似乎对 wagtail 很了解。而不是它可能在提要中被忽视。

标签: django python-3.x django-models django-templates wagtail


【解决方案1】:

Wagtail 使用Materialized Path trees from django-treebeard 确保每个节点始终有一条路径。提到的 Wagtail 'root' 是所有页面的核心根,每个站点都有一个以该主根作为父节点的节点。

这意味着没有简单的方法让一个页面有两个父级,这也意味着你不能在两个站点中拥有相同的页面。

根据您的要求,关于跨站点共享内容的类似问题可能会有所帮助:

Wagtail MultiSite - Cross posting content

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 2016-03-28
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多