Python Django评论

Python Django评论,python,django,django-apps,django-comments,Python,Django,Django Apps,Django Comments,我有一个Django应用程序,它有两个模型:第一个是Django.contrib.auth.User,第二个是我创建的Product 对于每个产品,我都会添加注释,这样每个注册的用户都可以为每个产品插入注释 我看到有django.contrib.comments,但可能是针对类似博客的网站,如果没有注册,每个用户都可以留下评论。我想创建一个评论表单,其中只包含用于编写评论的文本区域,用户会自动设置为request.user 我应该从头开始写评论系统吗 您所描述的内容听起来非常简单,非常适合Dja

我有一个Django应用程序,它有两个模型:第一个是
Django.contrib.auth.User
,第二个是我创建的
Product

对于每个产品,我都会添加注释,这样每个注册的用户都可以为每个产品插入注释

我看到有
django.contrib.comments
,但可能是针对类似博客的网站,如果没有注册,每个用户都可以留下评论。我想创建一个评论表单,其中只包含用于编写评论的文本区域,用户会自动设置为
request.user


我应该从头开始写评论系统吗

您所描述的内容听起来非常简单,非常适合Django内置的评论应用程序。仅仅因为它允许匿名用户发表评论并不意味着这是一项要求,您可以简单地通过不为未经身份验证的用户显示评论表单来防止匿名用户发表评论

您应该运行以下使用内置注释应用程序的示例:


我想你会发现它可以满足你的所有需要,具有你可能没有想到的附加功能(垃圾邮件保护),并将为你节省大量从头开始构建内容的时间。

内置的Django comments模块适用于你想要启用评论的任何模型。请参见此处:

如何删除URL/名字/姓氏等字段?我相信您指的是评论表单中的字段(如果我弄错了,请告诉我)。您可以将自己的注释表单(
form.html
)以及要使用的字段添加到
templates/comments/
目录中。在显示表单之前,您可以检查用户是否已在此登录,或者向他们显示登录或注册的链接。请参阅“相关”;)不呈现表单不会阻止POST请求处理表单。您必须在视图中检查:
如果method==“post”和user.is\u authenticated():foo()
。(如果您的Django安装使用CSRF令牌,这会有所缓解)知道您表单结构的注销用户可以通过手工编制的post请求在您的博客上发布匿名评论。此外,如果用户以前登录过,但在注销后没有刷新页面,则提交评论将以匿名用户的身份发布。1.6版的链接: