2009-10-28 22 views
0

我正在使用django-threadedcomments的新版本,并取得了一些进展;它与django的评论系统很好地集成,但是,我卡住了,不知道如何继续。使用javascript在文档准备好之后根据事件生成模板标签?

对于线程注释的工作,用户需要选择一个评论“回复”,然后通过JavaScript提出正确的提交表单(与适当的隐藏字段)。

不使用JavaScript,我会简单地使用:

{% render_comment_form for [object] with [parent_id] %} 

但是,我不知道我该如何使用JavaScript函数在这个模板标签,因为它会编译/只有一次自己创建的;我怎样才能通过它的[parent_id]变量dynacmically通过javascript/ajax?

回答

1

你可以用Ajax做到这一点,将评论的id传递给只显示表单的专用视图,但我认为没有必要。我没有看过线程注释,但我猜每个注释都是相同的对象类型。因此,呈现形式中唯一不同的部分是您要回复的评论的ID。

因此,使用正常的模板标签,使用页面上的第一条评论,隐藏的div内呈现默认的表单。然后,您的所有javascript函数需要做的是根据您正在回复的评论来更改该表单中object_pk隐藏字段的值。如果该ID尚未便于访问,请通过每个评论的类或ID在模板中提供该ID。然后,您可以将它解析出来,将其填入您的现成形式,展示它,并且您应该很乐意去。

+1

我曾尝试通过这种方式(在隐藏字段中)更改“父”值,但是,我认为django在创建安全哈希时正在使用此字段,因为每当我将其交换出来时,都会收到安全错误,表格已被篡改(它有!)。这就是为什么我认为我每次都必须从头开始生成一个新的... – thornomad 2009-10-28 20:55:10