FeinCMS は初めてで、独自のコンテンツ タイプを作成しようとしています。これは、私が作成した別のカスタム コンテンツ タイプを使用します。
以下のコードでは、ContentBox セクションから「CollapsiblePanels」を作成できるようにしたいだけなので、「CollapsiblePanel」は管理画面に表示されません。
また、ContentBox ごとに複数の CollapsiblePanels を作成することもできます。管理者が ContentBox 内に CollapsiblePanels を追加できるように、これを一緒に配線する方法を理解するのに苦労しています
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),
})