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。在这种方法中,您会将整篇文章作为一个 blob 存储在数据库中,然后使用标记过滤器将原始数据(包括一些原始布局信息)转换为 HTML。

于 2010-03-01T21:16:22.467 回答