我正在使用django-threadedcomments的新版本并取得一些进展;它与django的评论系统很好地集成,然而,我被困住了,不知道如何继续。
要使线程评论起作用,用户需要选择评论“回复”,然后通过javascript显示正确的提交表单(带有相应的隐藏字段)。
不使用javascript,我只想使用:
{% render_comment_form for [object] with [parent_id] %}
但是,我不确定如何在javascript函数中使用此模板标记,因为它只会编译/创建一次;如何通过javascript / ajax dynacmically传递[parent_id]
变量?
答案 0 :(得分:1)
您可以使用Ajax执行此操作,将注释的id传递给专门的视图,该视图只呈现表单,但我认为没有任何需要。我没有查看线程注释,但我猜每个注释都是相同的对象类型。因此,渲染形式中唯一不同的是您要回复的评论的ID。
因此,使用普通模板标记使用页面上的第一条注释渲染默认表单,在隐藏的div中。然后你所有的javascript函数需要做的是根据你要回复的注释来更改该表单中object_pk隐藏字段的值。如果该ID尚未易于访问,请通过每个注释的类或ID在模板中使用它。然后你可以把它从那里解析出来,把它塞进你现成的表格中,展示它,你应该好好去。