Python 如何登录用户';是否在django评论应用程序中自动显示s信息?
我使用Django 1.8创建一个应用程序,并使用Python 如何登录用户';是否在django评论应用程序中自动显示s信息?,python,django,django-forms,django-comments,Python,Django,Django Forms,Django Comments,我使用Django 1.8创建一个应用程序,并使用Django_comments应用程序处理评论系统。我希望只有经过身份验证的用户才能编写新的评论。因此,我排除了forms.py中的name、email和url字段,因为我希望它们被隐藏,并从登录用户自动检索这些信息: class CommentDetailsForm(CommentSecurityForm): exclude = ('name', 'email', 'url') comment = forms.CharField
Django_comments
应用程序处理评论系统。我希望只有经过身份验证的用户才能编写新的评论。因此,我排除了forms.py中的name
、email
和url
字段,因为我希望它们被隐藏,并从登录用户自动检索这些信息:
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\u name
、user\u email
和user\u url
我想一个解决方案可能是在模板中放入类似
的内容,但我不确定如何操作。只需在您的视图中使用request.user,模板/表单中不需要其他数据。我应该如何覆盖视图中的此函数字段?应自动为经过身份验证的用户设置comments应用程序中的用户信息。对于匿名用户,仅设置用户名字段。\u get\u user\u info
方法中的某些方法取决于要排除的字段。@Brandon我排除了这些方法,因为我不希望它们对经过身份验证的用户可见。有没有一种方法可以在不排除字段的情况下隐藏这些字段?您有几个选择:重写form类以将这些字段小部件更改为隐藏输入,或者重写表单的标记,或者使用CSS直观地隐藏字段。只需在视图中使用request.user,模板/表单中不需要其他数据。我应该如何覆盖视图中的此函数字段?应自动为经过身份验证的用户设置comments应用程序中的用户信息。对于匿名用户,仅设置用户名字段。\u get\u user\u info
方法中的某些方法取决于要排除的字段。@Brandon我排除了这些方法,因为我不希望它们对经过身份验证的用户可见。有没有一种方法可以在不排除字段的情况下隐藏这些字段?您有几个选择:重写form类以将这些字段小部件更改为隐藏的输入,或者重写表单的标记,或者使用CSS直观地隐藏字段。