扩展Django评论系统

时间:2009-07-17 08:08:35

标签: django django-comments

这就是我想要评论在我的网站上工作的方式:

  • 如果用户已登录,则会向他们显示“添加评论”框,其中包含评论文本的文本字段,以及一个复选框,如果选中则会匿名发布评论
  • 如果用户未登录,则会向用户显示上述所有内容,以及可以输入显示名称的额外文本字段。

所以基本上如果用户登录,他们可以匿名评论或使用他们的用户名。如果他们没有登录,他们可以匿名发帖,也可以在现场组成名称,仅用于显示目的。

我该怎么做呢?我已经设置了模板,根据用户的登录状态向用户显示相应的文本框和复选框。

我考虑过围绕django.contrib.comments.views.post_comment的包装函数,但该视图只接受一个不可变的请求对象。你会怎么做?

2 个答案:

答案 0 :(得分:2)

听起来您可能需要自定义评论应用 - 请查看the docs。这是another example(这个将CAPTCHA添加到标准评论表单中)。看起来像一个非常简单的过程:)

答案 1 :(得分:0)

只需撰写您的视图,即可django.contrib.comments.views.post_comment,但更适合您的用例。使用支持特定UI的表单(在演示和验证方面)。看起来好像电子邮件字段不可为空,因此如果一个虚拟值不可用,则必须输入虚拟值。

如果您可以包装现有功能本来会很好,但我认为这不切合实际。对于工作的包装方法,现有的代码必须考虑到可写性 - 而这种情况并没有发生。