【发布时间】:2015-08-15 17:22:50
【问题描述】:
我正在尝试在我的烧瓶项目中实现线程化 cmets,我希望它看起来像这样:
comment1
reply1
reply4
reply6
reply5
reply2
reply3
comment2
对于上面的例子,我有这样的 cmets:
comments = { 'comment1':['reply1', 'reply2', 'reply3'],
'reply1':['reply4', 'reply5'],
'reply4':['reply6'],
'reply2':[],
'reply3':[],
'reply5':[],
'reply6':[],
'comment2':[],
}
键值对是comment:他们的直接回复
在此之后,我尝试为每个根评论(即评论 1、评论 2 等)构建一个基于列表的树,例如对于 comment1,我有一个像这样的树:
['reply1', ['reply4', ['reply6', []], 'reply5', []], 'reply2', [], 'reply3', []]
现在,我不知道如何将这些 cmets/回复呈现为线程和多级缩进。我应该如何在 Jinja 模板中解析这棵树并呈现 cmets/replies ?是否有必要像我在这里所做的那样为每个评论构建一个基于列表的树,或者 cmets 的字典是否足以满足所需的实现?
【问题讨论】:
-
为什么不把 cmets 放在一个树形结构中(你可能需要自己写一些东西或者找一个库)。你的节点应该知道他们的深度。我建议不要在模板中添加太多逻辑...