我应该对 Django 应用程序中的所有模型使用 Wagtail 吗?
Should I use Wagtail for all models in a Django app?
我正在构建一个使用 Wagtail 的新网络应用程序。这是一个架构问题。
将有标准的关于、服务条款和博客页面。所有这些都非常适合 Wagtail 范式。网站内容的其余部分是关于特定类型企业的基于位置的信息。想想 FourSquare 类型的应用程序。这些页面的数据将非常结构化,通过面向用户的网页和移动应用程序进行更新,并且 JavaScript 很重。
对于常规的 Wagtail 页面,随着时间的推移可能会有数百个。对于位置页面类型,将有(希望)数以万计的页面最多嵌套四层。
从站点范围的功能角度来看,我希望利用站点地图和 Elastic Search 等 Wagtail 功能。
我的问题是,我应该为基于位置的页面使用 wagtail 页面 class 吗?
优点:
- 与 Elastic Search 和 Wagtail 站点地图轻松集成
- 在管理员端利用 Wagtail 编辑器。
- 始终如一的模型和 api 结构。
缺点:
- 位置页面的开销可能更多。
- 需要利用更多的钩子来操作视图输出(很多 JS,因此将在模板中插入非模型信息)。
- 可能会限制某些第三方模块的使用。
如果我走的是非鹡鸰路线,是否可以将非鹡鸰模型添加到搜索索引中?
在这个选择中我还应该考虑其他问题吗?
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
服务。该页面将不存在于管理树中,但无论如何都可以访问。
我正在构建一个使用 Wagtail 的新网络应用程序。这是一个架构问题。
将有标准的关于、服务条款和博客页面。所有这些都非常适合 Wagtail 范式。网站内容的其余部分是关于特定类型企业的基于位置的信息。想想 FourSquare 类型的应用程序。这些页面的数据将非常结构化,通过面向用户的网页和移动应用程序进行更新,并且 JavaScript 很重。
对于常规的 Wagtail 页面,随着时间的推移可能会有数百个。对于位置页面类型,将有(希望)数以万计的页面最多嵌套四层。
从站点范围的功能角度来看,我希望利用站点地图和 Elastic Search 等 Wagtail 功能。
我的问题是,我应该为基于位置的页面使用 wagtail 页面 class 吗?
优点:
- 与 Elastic Search 和 Wagtail 站点地图轻松集成
- 在管理员端利用 Wagtail 编辑器。
- 始终如一的模型和 api 结构。
缺点:
- 位置页面的开销可能更多。
- 需要利用更多的钩子来操作视图输出(很多 JS,因此将在模板中插入非模型信息)。
- 可能会限制某些第三方模块的使用。
如果我走的是非鹡鸰路线,是否可以将非鹡鸰模型添加到搜索索引中?
在这个选择中我还应该考虑其他问题吗?
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
服务。该页面将不存在于管理树中,但无论如何都可以访问。