我需要一点帮助来做这件事。我创建了一个随机生成问题的民意调查,说“你喜欢‘蓝色’吗?” 用户将从 1-5 对其进行评分。将出现一个新问题,例如“你觉得‘绿色’怎么样?” 单词是从数组中随机抽取的。
如何开始编写视图/模型来存储用户为每个单词选择的值?输出应该是这样的(分数会为每种颜色取平均值):
Blue 3.4
Green 4.1
Red 2.8
您可以创建一个模型来存储您的颜色:
class Color(models.Model):
name = CharField(...)
并将您的颜色存储在那里。
要使其可评分,只需使用 Django 的出色评分插件之一,例如django-ratings。当然,您也可以创建自己的评分应用程序,但我认为互联网上已经有很多这样的应用程序,那么为什么不使用呢?
hth
本质上,您应该将颜色放在隐藏字段中或将其存储在会话中(参见https://docs.djangoproject.com/en/dev/topics/http/sessions/)
为了获得平均值,您的模型必须存储所有投票或存储当前平均值 + 到目前为止的投票数,以便您可以将新平均值计算为
new_avg = ((old_avg * votes) + new_vote) / (votes++))
有关处理 POST 请求,请参阅https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.POST