1

我需要一点帮助来做这件事。我创建了一个随机生成问题的民意调查,说“你喜欢‘蓝色’吗?” 用户将从 1-5 对其进行评分。将出现一个新问题,例如“你觉得‘绿色’怎么样?” 单词是从数组中随机抽取的。

如何开始编写视图/模型来存储用户为每个单词选择的值?输出应该是这样的(分数会为每种颜色取平均值):

Blue 3.4
Green 4.1
Red 2.8 
4

2 回答 2

1

您可以创建一个模型来存储您的颜色:

class Color(models.Model):
    name = CharField(...)

并将您的颜色存储在那里。

要使其可评分,只需使用 Django 的出色评分插件之一,例如django-ratings。当然,您也可以创建自己的评分应用程序,但我认为互联网上已经有很多这样的应用程序,那么为什么不使用呢?

hth

于 2012-09-19T12:58:18.997 回答
0

本质上,您应该将颜色放在隐藏字段中或将其存储在会话中(参见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

于 2012-09-19T12:49:04.870 回答