2010-09-29 78 views
2

我在我的项目中使用标准的Django评论应用程序。如果用户登录,则评论表单仍然显示user_name和user_email的字段。如果输入了任何内容,则数据将与注释一起保存到数据库以及登录用户的user_id。Django的注释表单在用户登录时是否知道?

当显示注释时,会显示登录用户的名称,而不是输入到注释表单中的user_name。

如果用户登录,我会期望user_name和user_email字段不会显示在窗体上,因为在这种情况下他们毫无意义。它应该是这样的行为,我做错了什么?如果这是奇怪的标准行为,当用户登录时隐藏这些字段(或使用登录的用户名/电子邮件)的最简单方法是什么?谢谢。

回答

0

请记住,通用的Django应用程序设计得很好,通用。他们不一定处理所有的特殊情况。

如果你想改变这种形式,你应该写你自己的模板。在模板中,您可以使用!user.is_authenticated向表单中添加字段(确保您使用的是RequestContext)。

+0

感谢您的建议André。我意识到这些应用程序应该是通用的,但这似乎并不是一个特殊情况 - 它看起来破碎了。我以为默认行为应该是明智的,但是这对于任何在发表评论时登录的用户来说似乎都很困惑。 – 2010-09-29 14:35:25

相关问题