0

是否存在推薦的用於存儲具有複雜結構的內容的最佳做法。例如,假設一個典型的「文章」我想成爲可能有以下層次:使用Django存儲具有複雜結構的內容

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 
... 

我與如何分解到相應的數據庫結構,這使得它可以使用模板來呈現掙扎。

我理解我如何使用合成將每篇文章的子部分分成幾部分(例如Header,Subheader,Content),每個孩子都指向其父文件。但是,我正在努力如何存儲指示,以便在內容級別將所有內容放在一起。我想你可以存儲與定義爲了例如爲:

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 

這是使用了這一問題的最好方法,還是有一個更簡潔的方法每個內容塊的索引?任何幫助,將不勝感激。

P.S.我想這不是一個真正的Django特定問題,但是Django是我實現它的最終手段。

回答

1

看起來像這種問題的常見方法是使用標記過濾器。例子包括Markdown和Textile。在這種方法中,您將整篇文章作爲一個blob存儲在數據庫中,然後使用標記過濾器將原始數據(包括一些原始佈局信息)轉換爲HTML。