在 Wagtail 中设置默认片段的最佳方法是什么

What is the best way to setup default snippets in Wagtail

我想在 Wagtail 博客项目中设置默认片段(文章类别)。

我的选择是在 models.py 模块的末尾添加以下行:

if BlogPageCategory.objects.filter(name = 'Association').count() == 0:
    category = BlogPageCategory(name='Association')
    category.save()

这是最好的方法吗?对网站性能有影响吗?

谢谢

有多种方法可以实现你想要的:

  • 推荐的方法是使用 Data migrations。这种方法的优点是在初始化时将在数据库中设置默认值,而不是 运行 时间操作。
  • 您描述的方式(尽管最好在您的 AppConfig's ready() 方法中执行此操作(如 here 所述),因为这是最常见的地方运行 服务器启动时的任何代码。它不会对性能产生很大影响,因为它只 运行 一次(当您的服务器启动时)
  • 使用固定装置,IMO 只有在将大量数据加载到数据库中时才需要使用固定装置。