扩展Django';与Django的评论框架';s用户和自定义用户配置文件
我正在运行Django v1.4 我查看了扩展Django';与Django的评论框架';s用户和自定义用户配置文件,django,django-comments,Django,Django Comments,我正在运行Django v1.4 我查看了django.contrib.django.comments的源代码,注意到Comment类有一个可选的user字段,它是django的user的外键。我还使用自己的UserProfile扩展了User,它有一个User\u type字段(使用) 我想对每个工单发表评论,但只允许某些user\u type能够发表评论。因此,现在我正在考虑扩展注释来做两件事: 只有登录的用户才能发表评论。因此,Comment.user必须为必填项 只有特定的用户类型可以发
django.contrib.django.comments
的源代码,注意到Comment
类有一个可选的user
字段,它是django的user
的外键。我还使用自己的UserProfile
扩展了User
,它有一个User\u type
字段(使用)
我想对每个工单发表评论,但只允许某些user\u type
能够发表评论。因此,现在我正在考虑扩展注释来做两件事:
只有登录的用户才能发表评论。因此,Comment.user
必须为必填项
只有特定的用户类型
可以发表评论
我知道我可能必须创建自己的类并继承Comment
,但在设计中我有几个问题:
我是否应该保留注释
(用户名
,用户电子邮件
,用户url
等)的所有可选字段?如果是这样的话,我是否应该用User
中的信息添加它们?我觉得如果我添加它们,那么它违反了数据规范化
如何仅限制某些userprofile.user\u类型的注释?我知道注释是加载在模板中的,所以我应该如何控制模板中是否包含if
-then
块?这似乎违反了MVC模型设计(我觉得权限限制应该放在views.py
中)
如果您有任何提示、建议和参考,我们将不胜感激。提前感谢!到目前为止,我一直在使用Django文档作为示例。为什么不创建一个自定义模板/包含标记,以检查当前用户是否可以发布评论并有条件地显示评论表单。我对Django非常陌生,所以我还没有看过自定义模板标签。谢谢你的想法。你可能看错了。虽然我没有尝试过,但权限可能是最好的选择。