Django get_comment_list返回空列表

时间:2012-01-28 04:55:40

标签: django django-templates django-comments

我一直把头发拉过来,无法弄清楚发生了什么。

在我看来,我可以这样做:

from django.contrib.comments import Comment

...
context['comments'] = Comment.objects.filter(object_pk = self.kwargs['pk'])

...

然后在我的模板中:

{% for comment in comments %}
{{ comment.comment }}
{% endfor %}

它完美运作并显示每条评论......

然而,当我尝试使用django模板标签进行评论时,我得到一个空列表

{% load comments %}
{% get_comment_list for video as comments %}
{% for comment in comments %}
{{ comment.comment }}
{% endfor %}
{{ comment_list|length }}  // displays '0'
上面代码中的

视频是模板上下文中的对象实例 - 我在模板的其他位置使用它并且工作正常 - 即{{video.title}},{{video.id}}

此外 - 其他评论模板标签似乎工作正常:

{% render_comment_list video %}

显示我在comments / list.html上找到的测试模板 - 这个模板只打印出" hello world"。

知道这里发生了什么或如何调试它?

1 个答案:

答案 0 :(得分:0)

只是一个猜测但是,当你这样做时:

Comment.objects.filter(object_pk = self.kwargs['pk'])

在视图中,您没有为要获得的评论指定content_type(视频),因此您正在检索ID为“pk”的任何对象的所有评论 - 也许这就是您的原因手动执行时看到注释,但是当你将它留给模板标签时没有注释。也许评论没有附加到正确的ContentType - 你可以在django admin中查看这个