我制作了一个自定义Django应用程序,用于添加具有不同部分的简单博客文章功能,这些功能可以连接到显示所选部分的任何页面。它是作为到Django CMS页面的Apphook制作的。
通过添加帖子的标题和元数据(日期等)来工作,并且在保存后有一个“编辑”按钮可以实时编辑页面上的帖子。我正在使用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 account处查看代码,任何建议都值得赞赏。