我是 FeinCMS 的新手,我正在尝试创建自己的内容类型。这使用了我创建的另一种自定义内容类型。
在下面的代码中,“CollapsiblePanel”没有显示在管理员中,因为我只希望您能够从 ContentBox 部分创建“CollapsiblePanels”。
您还可以为每个 ContentBox 创建多个 CollapsiblePanel。我无法弄清楚如何将它们连接在一起,因此管理员允许您在 ContentBox 中添加 CollapsiblePanel
class CollapsiblePanel(models.Model):
title = models.CharField(max_length=255)
content = models.TextField()
def render(self, **kwargs):
return render_to_string('collapsiblepanel.django.html', {
'media': self,
'title': mark_safe(self.title),
'text': mark_safe(self.content),
})
class ContentBoxMedia(RichTextContent):
title = models.CharField(_('title'), max_length=200, blank=True)
collapsible = models.BooleanField()
collapsiblePanels = models.ForeignKey(CollapsiblePanel)
class Meta:
abstract = True
verbose_name = 'Content Box'
verbose_name_plural = 'Content Box'
def render(self, **kwargs):
return render_to_string('contentbox.django.html', {
'media': self,
'title': mark_safe(self.title),
'text': mark_safe(self.text),
})