Добавление новых фрагментов Wagtail CMS
Я хотел бы добавить новые модели Wagtail Snippet, но не могу найти никакой документации относительно правильного именования файлов, чтобы начать их создание; разместить их в своих приложениях model.py
файл или у него есть определенный метод, похожий на wagtailadmin
? Спасибо.
1 ответ
Фрагменты кода являются распространенными моделями 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)