Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何登录用户';是否在django评论应用程序中自动显示s信息?_Python_Django_Django Forms_Django Comments - Fatal编程技术网

Python 如何登录用户';是否在django评论应用程序中自动显示s信息?

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 1.8创建一个应用程序,并使用
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直观地隐藏字段。