添加新的 Wagtail CMS 片段

Adding new Wagtail CMS Snippets

我想添加新的 Wagtail Snippet 模型,但找不到任何关于正确文件命名的文档来开始构建它们;我是将它们放在我的应用程序 model.py 文件中还是它有类似于 wagtailadmin 的特定方法?谢谢。

Snippets是常见的django模型,使用装饰器函数注册。因此他们住在 models.py.

from django.db import models
from wagtail.wagtailsnippets.models import register_snippet

@register_snippet
class Foobar(models.Model):
    foo = models.CharField(max_length=3)

如果您的应用增长,您可能会考虑使用包而不是模块。创建一个名为 models 的文件夹,并将 models.py 的内容复制到一个名为 __init__.py 的文件中。 之后创建单独的模块。例如。 snippets.py 在此新文件夹中并将它们导入到 __init__.py

示例代码:

models/__init__.py:

from .snippets import *

models/snippets.py:

from django.db import models
from wagtail.wagtailsnippets.models import register_snippet

@register_snippet
class Foobar(models.Model):
    foo = models.CharField(max_length=3)