我正在考虑实现django-threadedcomments,并且想知道它是否能够限制主持人/所有者做出的回复的线程,类似于Yelp处理用户评论和业主回复的方式。
例如评论如下:
用户1的“评论1” 用户2的“评论2” 所有者的“回复1” 用户3的“评论3” 所有者的“回复2” 用户4的“评论4” User5的“评论5”
你将如何在django-threadedcomments中执行此操作?或者,如果您使用内置注释框架完成此操作,我也可以这样做。
答案 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] %}
模板标签。