Добавление новых фрагментов 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)
Другие вопросы по тегам