我应该对 Django 应用程序中的所有模型使用 Wagtail 吗?

Should I use Wagtail for all models in a Django app?

我正在构建一个使用 Wagtail 的新网络应用程序。这是一个架构问题。

将有标准的关于服务条款博客页面。所有这些都非常适合 Wagtail 范式。网站内容的其余部分是关于特定类型企业的基于位置的信息。想想 FourSquare 类型的应用程序。这些页面的数据将非常结构化,通过面向用户的网页和移动应用程序进行更新,并且 JavaScript 很重。

对于常规的 Wagtail 页面,随着时间的推移可能会有数百个。对于位置页面类型,将有(希望)数以万计的页面最多嵌套四层。

从站点范围的功能角度来看,我希望利用站点地图和 Elastic Search 等 Wagtail 功能。

我的问题是,我应该为基于位置的页面使用 wagtail 页面 class 吗?

优点:

缺点:

如果我走的是非鹡鸰路线,是否可以将非鹡鸰模型添加到搜索索引中?

在这个选择中我还应该考虑其他问题吗?

Any Django model can be indexed and searched 通过继承 index.Indexed 并在模型上定义 search_fields

至于是否使用页面,一如既往地取决于很多因素。但是,看起来保留您的位置模型是有意义的,而不是将其设为页面并在管理员中公开(如果您需要一些已经存在的扩展,则使用 Django Admin,或者 Wagtail's modeladmin otherwise). Then you would create a LocationIndexPage which implements the RoutablePageMixin 动态为 LocationPage 服务。该页面将不存在于管理树中,但无论如何都可以访问。