0

複雑な構造を持つコンテンツを格納するための推奨されるベスト プラクティスはありますか。たとえば、私が提供しようとしている典型的な「記事」が次の階層を持っているとします。

Header #1
   Subheader #1.a)
      Text content
      Image content
      Text Content
   Subheader #1.b)
      Text Content
      Other complex content type, such as syntax highlighted code block
Header #2
...

テンプレートを使用してレンダリングできるように、これを適切なデータベース構造に分解する方法に苦労しています。

構成を使用して、記事のサブコンポーネント (ヘッダー、サブヘッダー、コンテンツなど) を各子がその親を指すように分割する方法を理解しています。ただし、コンテンツ レベルですべてを元に戻すための指示を保存する方法に苦労しています。順序を定義する各コンテンツ ブロックにインデックスを格納できると思います。

for each header in article
   print header
   for each subheader in header
      print subheader
      for each content block in subheader (ordered by index)
         print content block

これはこの問題に使用するための推奨される方法ですか、それとももっとクリーンなアプローチがありますか? どんな助けでも大歓迎です。

PSこれは実際にはDjango固有の質問ではないと思いますが、Djangoはこれを実装する私の究極の手段です.

4

1 に答える 1

1

この問題に対する一般的なアプローチは、マークアップ フィルターを使用することです。例としては、Markdown や Textile などがあります。このアプローチでは、記事全体を 1 つの BLOB としてデータベースに保存し、マークアップ フィルターを使用して生データ (基本的なレイアウト情報を含む) を HTML に変換します。

于 2010-03-01T21:16:22.467 に答える