Django线程评论 - 仅限一级

时间:2010-10-21 00:22:20

标签: django django-comments threaded-comments

我正在考虑实现django-threadedcomments,并且想知道它是否能够限制主持人/所有者做出的回复的线程,类似于Yelp处理用户评论和业主回复的方式。

例如评论如下:

用户1的“评论1” 用户2的“评论2” 所有者的“回复1” 用户3的“评论3” 所有者的“回复2” 用户4的“评论4” User5的“评论5”

你将如何在django-threadedcomments中执行此操作?或者,如果您使用内置注释框架完成此操作,我也可以这样做。

2 个答案:

答案 0 :(得分:0)

我目前正在开发一个基于Django的小型CMF,我已经在那里实现了线程注释,似乎工作正常。您可以在http://github.com/kovshenin/Juice获取最新资源。您感兴趣的模块是juice.comments。新闻single.html模板中说明了线程,该模板是从juice.front.views.single视图调用的。请注意传递给模板的级别和缩进参数:

# comments
p.comments = Comment.tree.filter(content_type__pk=ctype.id, object_id=p.id)

for c in p.comments:
    c.indent = c.level * 50

p对象的类型是Post,它被传递给模板。

现在,关于限制线程到其他人而不是管理员/所有者。在同一视图中,我将说明如何处理评论表单,您可以清楚地看到我正在查找父评论(如果提供了评论)。您必须在那里添加一些逻辑并检查当前用户登录及其权限,如果未设置,请使用parent = NULL。在模板中只隐藏回复链接;)

希望有所帮助,并且要注意我一直在做这个项目,每天5-10次提交,所以请密切关注你下载的源代码。文档目前仅包含帖子的处理方式(已经部分过时),但我会不断更新。

干杯。

答案 1 :(得分:0)

如果其他人正在寻找这个,我可以通过使用

中的PARENT_ID在django-threaded评论中做到这一点
{% render_comment_form for [object] with [parent_id] %}

模板标签。