2012-01-28 20 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' 
Iは、テンプレート内の他の場所でそれを使用し、それが正常に動作 - - 上記のコードにおいて

ビデオテンプレートコンテキストにおけるオブジェクトのインスタンスである。またすなわち{{video.title}}、{{}} video.id

- 他のコメントテンプレートタグが正常に動作するように見える:

{% render_comment_list video %} 

は、私がコメント/するlist.htmlに位置しているテスト用テンプレートを表示する - このテンプレートは、単に「こんにちは世界」を出力します。

ここで何が起こっているのか、どうやってデバッグするのですか?

答えて

0

ちょうど推測しかし、あなたがこれを行うとき:ビュー内

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

を、あなたが取得したいコメントをcontent_type(ビデオ)を指定していないので、あなたがのためにすべてのコメントを取得していますid 'pk'のオブジェクトは、手動で行うときにコメントが表示されるのはなぜですか、テンプレートタグに任せたときはコメントが表示されないことがあります。コメントが正しいContentTypeに添付されていない可能性があります - これはdjangoの管理者で確認できます

関連する問題