Комментарии к Django - только один уровень - PullRequest
1 голос
/ 21 октября 2010

Я смотрю на реализацию django-threadadedcomments и задаюсь вопросом, может ли он ограничить потоки ответами, сделанными модератором / владельцем, подобно тому, как Yelp обрабатывает отзывы пользователей и ответы владельцев бизнеса.

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

«Комментарий 1» от пользователя1
«Комментарий 2» от пользователя2
«Ответ 1» от владельца
«Комментарий 3» от пользователя3
»Ответ 2 "от владельца
" Комментарий 4 "от пользователя4
" Комментарий 5 "от пользователя5

Как бы вы сделали это в django-threadadedcomments?В качестве альтернативы, если вы сделали это, используя встроенную инфраструктуру комментариев, я открыт и для этого.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2010

В случае, если кто-то еще ищет это, я смог сделать это с помощью django-threadadedcomments, используя PARENT_ID в

{% render_comment_form for [object] with [parent_id] %}

тег шаблона.

0 голосов
/ 21 октября 2010

В настоящее время я работаю над небольшим CMF на основе Django, и я реализовал там многопоточные комментарии, которые, кажется, работают нормально. Вы можете получить последний источник на http://github.com/kovshenin/Juice Модуль, который вас интересует, это juice.comments. Потоки показаны в шаблоне news-single.html, который вызывается из представления juice.front.views.single. Обратите внимание на параметры уровня и отступа, которые передаются в шаблон:

# comments
p.comments = Comment.tree.filter(content_type__pk=ctype.id, object_id=p.id)

for c in p.comments:
    c.indent = c.level * 50

Объект p имеет тип Post, который передается в шаблон.

Теперь об ограничении потоков другим пользователям, кроме администратора / владельца. В том же представлении я иллюстрирую, как обрабатывать форму комментирования, где вы можете ясно видеть, что я ищу родительский комментарий, если он есть. Вам нужно будет добавить туда несколько логик и проверить текущий логин пользователя и его привилегии, и если они не установлены, используйте parent = NULL. В шаблоне просто скрыть ссылку ответа;)

Надеюсь, это поможет, и знайте, что я постоянно работаю над этим проектом, 5-10 коммитов каждый день, так что следите за тем, какой источник вы скачиваете. В настоящее время документация содержит только способ обработки сообщений (уже частично устаревший), но я буду постоянно обновлять его.

Приветствие.

...