2012-01-28 199 views
2

我一直在拉我的头发,无法弄清楚发生了什么。Django get_comment_list返回空列表

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

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 %} 

显示测试模板我都位于评论/ list.html - 这个模板只是打印出来的“Hello World”。

任何想法这里发生了什么或如何调试它?

回答

0

只是一个猜测,但是,当你这样做:在视图

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

,你是不是指定content_type(视频)为您希望得到的意见,所以你检索所有评论任何带有'pk'标识的对象 - 也许这就是为什么当您手动执行时看到注释的原因,但是当您将其留给模板标记时,没有任何对象。也许评论没有附加到正确的ContentType - 你可以在django admin