Django评论

Fre*_*ins 4 python django django-apps django-comments

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

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

我已经看到了django.contrib.comments,但可能是类似博客的网站,如果他们没有注册,每个用户都可以留下评论.我会在评论表中只用textarea写评论,用户自动设置为request.user.

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

rol*_*one 5

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

您应该运行使用内置评论应用程序的示例:https: //docs.djangoproject.com/en/dev/ref/contrib/comments/example/

我认为您会发现它可以满足您的一切需求,具有您可能没有想到的其他功能(垃圾邮件防护),并且可以节省您大量时间从头开始构建.

  • 不呈现表单不会阻止在POST请求上处理它.您必须在视图中检查:`if method =="post"和user.is_authenticated():foo()`.(如果您的Django安装使用CSRF令牌,则会减轻这种情况)了解表单结构的注销用户可以通过手工制作的POST请求在您的博客上发布匿名评论.此外,如果用户先前已登录但在注销后未刷新页面,则提交评论将从匿名用户发布. (2认同)