как создать дерево комментариев в django

#python #django #django-templates #comments #django-comments

Вопрос:

Мне нужна система комментариев, чтобы я мог ответить на комментарий к любому комментарию

Я знаю, как писать модели и представления, и моя единственная проблема-показать их в шаблоне

Например, может быть, группа комментариев выглядит так:

 comment
    comment
        comment
        comment
    comment
    comment
        comment
            comment
comment
    comment
 

Как я могу отобразить эту структуру в шаблоне?

Ответ №1:

В вашей Comment модели должно быть parent поле, которое ссылается на другой комментарий(отношение к себе).
это будет что-то вроде этого, добавьте его в свою Comment модель:

 parent = models.ForeignKey('self', null=True, blank=True, related_name='replies')  
 

теперь у вас есть свои ответы, и даже ваши ответы могут быть источником другого комментария.
И в вашем шаблоне:

 {% for replay in comment.replies.all %}
    <p class="info">{{ replay.user }} | {{ replay.date }}</p>
    <li>{{ replay.text }}</li>
{% endfor %}  
 

Обратите внимание, что имена полей являются лишь примерами

Комментарии:

1. я знаю это, я просто хочу знать, как отобразить их в шаблоне