给用户一个“声望系统” - 我应该……吗?
我在考虑给我的Django网站加一个信誉系统;这个网站已经在使用中,所以我想在选择上小心一点。
信誉是通过所有对网站有贡献的行为来产生的,类似于Stackoverflow的系统。
我知道有成千上万种方法可以实现这个功能,所以我感觉有点迷茫。
我不太确定的两个选择是:
- 记录信誉增加的原因
- 忽略原因,以减少网站的复杂性和负担
如果能给我一些建议和方向,我会非常感激的!
2 个回答
4
我觉得还是要记录一下原因。其实这并不会太复杂,你也不需要存很多信息,只要记录时间、分数、指令、目标和发起者就可以了。如果数据积累得太多,过一段时间就把数据库备份到其他地方,然后清理一下历史记录。
6
在Django中,我建议在用户(或者个人资料)模型上添加一个属性,这个属性可以随时计算用户的声誉。然后,使用缓存框架把声誉存起来,或者直接存到数据库里,这样可以快速获取。
这样一来,除了记录哪些因素会影响声誉之外,你还可以随时修改声誉的评判标准。