Расширение системы комментирования Django - PullRequest
0 голосов
/ 17 июля 2009

Вот как я хочу, чтобы комментарии работали на моем сайте:

  • если пользователь вошел в систему, ему предоставляется поле «Добавить комментарии», в котором есть текстовое поле для текста комментария, и флажок, который будет публиковать комментарий анонимно, если установлен
  • Если пользователь не вошел в систему, он предоставит пользователю все, что указано выше, плюс дополнительное текстовое поле, в которое он может ввести отображаемое имя.

В общем, если пользователь вошел в систему, он может оставить комментарий анонимно или под своим именем пользователя. Если они не вошли в систему, они могут опубликовать анонимно или создать имя на месте только для отображения.

Как я могу это сделать? У меня уже есть настроенный шаблон, который предоставляет пользователю соответствующие текстовые поля и флажки в зависимости от их статуса входа в систему.

Я думал о функции-обертке вокруг django.contrib.comments.views.post_comment, но это представление принимает только объект запроса, который является неизменным. Как бы вы поступили об этом?

Ответы [ 2 ]

2 голосов
/ 22 июля 2009

Звучит так, как будто вам может понадобиться пользовательское приложение для комментариев - посмотрите Документы . Вот другой пример (этот добавляет капчу к стандартной форме комментария). Похоже, довольно простой процесс:)

0 голосов
/ 17 июля 2009

Просто напишите свое мнение, набирая все, что вы можете из django.contrib.comments.views.post_comment, но больше подходит для вашего варианта использования. Используйте форму, которая поддерживает ваш конкретный пользовательский интерфейс (с точки зрения представления и проверки). Похоже, что поле электронной почты не имеет значения NULL, поэтому вам придется ввести фиктивное значение, если оно недоступно.

Было бы неплохо, если бы вы могли обернуть существующую функциональность, но я не думаю, что это практично. Чтобы подход с упаковкой работал, существующий код должен был бы быть написан с учетом возможности переноса - а этого не произошло.

...