Я сделал специальное приложение Django для добавления простых функций блога с различными разделами, которые можно подключить к любой странице, показывающей выбранный раздел.Он был создан как Apphook для страницы CMS Django.
Работает, добавляя заголовок и метаданные сообщения (дата и т. Д.), И после сохранения есть кнопка «Редактировать», чтобы редактировать сообщение на странице.Я использую поле модели PlaceholderField, которое добавляет заполнитель, который принимает все доступные плагины.
Поскольку я также создал плагин CMS, который может отображать последние сообщения из любого доступного раздела, я хотел бы запретить пользователям добавлять CMSплагин для заполнителя страницы с подробным описанием моего поста, поскольку он вызывает ошибку RecursionError.
Дело в том, что плагин CMS не должен быть добавлен в PlaceholderField приложения.
Мне удалось решить проблему (на данный момент) добавив CMS_PLACEHOLDER_CONF в мой файл settings.py с ограничением для моего плагина «Последние сообщения», но, поскольку это публичное репозиторий GitHub, я хотел бы по возможности запретить его в конфигурации моего приложения по умолчанию.В настоящее время он работает следующим образом.
CMS_PLACEHOLDER_CONF = {
'post_detail': { # name of my model's PlaceholderField
'name': _("Post content"), # override default name with more verbose one
'excluded_plugins': ['LatestPostsPlugin'], # exclude from adding to 'post_detail'
},
}
Если это поможет, вы можете посмотреть код на моем аккаунте GitHub , любые предложения приветствуются.