如何在django评论应用程序中自动登录用户的信息?

时间:2015-10-08 08:14:53

标签: python django django-forms django-comments

我正在使用Django 1.8创建一个应用程序,而我正在使用django_comments应用程序来处理评论系统。我只希望经过身份验证的用户能够撰写新评论。所以我在forms.py中排除了nameemailurl字段,因为我希望它们被隐藏并从登录用户自动检索这些信息:

class CommentDetailsForm(CommentSecurityForm):
    exclude = ('name', 'email', 'url')
    comment = forms.CharField(...)

但是CommentDetailsForm类中有一个函数可以将这些信息保存在字典中,以便在管理区域中显示它们:

def get_comment_create_data(self):
    return dict(
        content_type=ContentType.objects.get_for_model(self.target_object),
        object_pk=force_text(self.target_object._get_pk_val()),
        user_name=self.cleaned_data["name"],
        user_email=self.cleaned_data["email"],
        user_url=self.cleaned_data["url"],
        comment=self.cleaned_data["comment"],
        submit_date=timezone.now(),
        site_id=settings.SITE_ID,
        is_public=True,
        is_removed=False,
    )

我的问题是:当登录用户发布新评论时,如何自动在此功能中填写user_nameuser_emailuser_url

我想一个解决方案可能会在模板中加上<input type="hidden" name="user_name" value="{{ request.user.username }}" />,但我不知道该怎么做。

0 个答案:

没有答案