Django get_comment_list возвращает пустой список - PullRequest
2 голосов
/ 28 января 2012

Я потянул за это волосы и не могу понять, что происходит.

На мой взгляд, я могу сделать это:

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 в приведенном выше коде является экземпляром объекта в контексте шаблона - я использую его в другом месте шаблона, и он отлично работает - т.е. {{video.title}}, {{video.id}}

Также - другие теги шаблонов комментариев работают нормально:

{% render_comment_list video %}

отображает тестовый шаблон, который я нашел в comments / list.html - этот шаблон просто выводит «hello world».

Есть идеи, что здесь происходит или как их отладить?

1 Ответ

0 голосов
/ 28 января 2012

Просто предположение, но когда вы делаете это:

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

в представлении, вы не указываете content_type (Видео) для комментариев, которые хотите получить, поэтому вы получаетевсе комментарии для любого объекта с идентификатором 'pk' - возможно, именно поэтому вы видите комментарии, когда вы делаете это вручную, но ни одного, когда вы оставляете это до тега шаблона.Возможно комментарии не прикреплены к правильному ContentType - вы можете проверить это в админке django

...