如何在 Django 的 Wagtail CMS 中创建不存在的父页面的子页面?

问题描述

我想创建页面的子页面(例如“/questions/example”),而不必创建根页面“/questions”。有没有一种快速方法来实现这样的事情?

解决方法

子页面必须是,嗯,子页面 - 所以没有简单的方法来解决这个问题。

但是,如果您要问的是“我想要 /questions/foo/ 而不必在 /questions/ 处访问页面”,则有两个选项:

  1. 向您的项目添加一个新的 QuestionsPage,将其添加为根的子项,另存为草稿并且不要发布 - 然后您就可以添加子项页面并发布这些,但任何去 /questions/ 的人都会得到 404。这“有效”但不是超级好

  2. 向您的项目添加 StructuralPage(或类似命名),并覆盖 serve() 和 serve_preview() 方法以在有人访问它们时重定向到主页(或其他地方)。您可以向其中添加子页面等,如上所述。