(Теперь, когда Django 1.1 находится в статусе статуса кандидата, это может быть подходящее время, чтобы спросить об этом.)Аутентифицированный комментарий в Django 1.1?
Я искал повсюду способы распространения приложения комментариев Django для поддержки аутентифицированных комментариев. Прочитав модель комментариев несколько раз, я обнаружил, что ForeignKey
до User
уже существует.
От django.contrib.comments.models
:
class Comment(BaseCommentAbstractModel):
"""
A user comment about some object.
"""
# Who posted this comment? If ``user`` is set then it was an authenticated
# user; otherwise at least user_name should have been set and the comment
# was posted by a non-authenticated user.
user = models.ForeignKey(User, verbose_name=_('user'),
blank=True, null=True, related_name="%(class)s_comments")
user_name = models.CharField(_("user's name"), max_length=50, blank=True)
user_email = models.EmailField(_("user's email address"), blank=True)
user_url = models.URLField(_("user's URL"), blank=True)
я не могу получить мою голову вокруг установки user
. Если я использую комментарии как есть, даже если я аутентифицирован, все равно, кажется, нужны другие поля. Я предполагаю, что я должен переопределить форму и сделать ее там? Кроме того, если я использую user
, я должен игнорировать тот факт, что user_name
, и user_url
будут пустыми и просто вытащить эту информацию из соответствующей модели профиля, исправить?
Хотя ответы могут быть довольно тривиальными в конце, я просто удивлен, что он не был написан или даже не говорил.
Я изначально проголосовал за этот ответ, но после работы с решением Theju на некоторое время нашел его ограничивающим. Теперь я предпочитаю просто создавать форму вручную, придерживаясь всех полей, которые Django ожидает (в соответствии с ниже). – shacker