2009-07-17 66 views
0

这是我想怎么评论在我的网站工作:扩展Django的评论系统

  • 如果用户登录,他们都带有它有一个文本字段,注释的“添加注释”对话框文本和一个复选框,如果选中,将匿名发表评论
  • 如果用户未登录,它将向用户显示上述所有内容,以及一个可输入显示名称的额外文本字段。

基本上,如果用户登录,他们可以发表评论匿名或用他们的用户名。如果他们没有登录,他们可以匿名发布,或者他们可以当场为了显示目的创建一个名称。

我该如何去做这件事?我已经设置了模板,根据用户的登录状态向用户显示相应的文本框和复选框。

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

+0

什么,具体来说,防止你直接使用`post_comment`视图? – 2009-07-17 08:46:10

回答

0

只要写下你的看法,你可以从django.contrib.comments.views.post_comment中挑选一些,但更适合你的用例。使用支持您的特定用户界面的表单(在表示和验证方面)。它看起来好像电子邮件字段不是空的,所以如果不可用,你将不得不放置一个虚拟值。

如果你可以包装现有的功能,那本来是不错的,但我不认为这很实际。对于包装方法的工作,现有的代码将不得不写在心中的包装 - 这并没有发生。

2

听起来像你可能需要一个自定义评论应用程序 - 检查出the docs。这里是another example(这个人在标准评论表中增加了一个CAPTCHA)。看起来像一个非常简单的过程:)