Django 管理インターフェイスに、新しいセクションを追加したときにフォームに WYSIWYG HTML エディターが表示されないセクションがあります。
# models.py
class CustomSectionBase(models.Model):
name = models.CharField(max_length = QUARTER_SIZE, verbose_name = 'Name', null = True, blank = True, default = None)
body = HTMLField(verbose_name = "Body Text")
class Meta:
abstract = True
verbose_name_plural = "Custom Sections"
verbose_name = "Custom Section"
ordering = ['name']
def __unicode__(self):
return self.name
def __repr__(self):
return unicode(self)
class CompanyCustomSection(CustomSectionBase):
company = models.ForeignKey(Company, verbose_name = 'Company')
そして、管理インターフェースで:
# admin.py
class CompanyCustomSectionInline(NestedStackedInline):
model = models.CompanyCustomSection
list_display = ('name', 'body')
extra = 0
これを実行すると、CompanyCustomSections が表示され、TinyMCE WYSIWYG HTML エディターがbody
期待どおりにフィールドに接続されます。ただし、管理インターフェイスで [別のカスタム セクションを追加] をクリックすると、表示される空白のフォームbody
に、WYSIWYG エディターではなくフィールド用のプレーンテキスト テキスト領域が表示されます。
私は周囲を見渡し、TinyMCE エディタが消えてしまうという問題を抱えている人を何人か見つけ、彼らの解決策をいくつか試しました。TinyMCE Javascript ファイルを のjs
プロパティに追加しよCompanyCustomSectionInline
うとしました。カスタムModelForm
を使用して、モデルの作成と編集に同じフォームが提供されていることを確認しましたが、役に立ちませんでした。
解決策がない場合でも、私が検討する何かのアイデアをいただければ幸いです。