如何基于Poll教程使用Django创建HotOrNot / FaceMash站点?

时间:2012-05-11 07:50:17

标签: django django-forms django-admin

我已经阅读了Django的基本民意调查教程,我意识到我可以在这里和那里改变一些东西并从中创建一个HotOrNot / FaceMash风格的网站。然而,由于我还是一个菜鸟,我只能提出它的概念 - 我无法知道如何去做。因此,概念是不显示轮询的所有选项,而是仅显示两个随机选择(不应该相同)。此外,还需要一种从计算机批量上传或从外部存储/服务器获取所有图像作为轮询选项的方法。谁能告诉我如何实现这一目标?非常感谢你。

1 个答案:

答案 0 :(得分:0)

嗯,这还不清楚,但让我们试一试。 我想你要比较2张随机照片,让用户选择最好的照片。 我想到了一种简单的方法,不一定是民意调查应用程序。

首先,创建一个存储图像的模型。例如:

class Image(models.Model):
  picture = models.ImageField("Face picture", max_length=255, upload_path=<your upload path function>)

然后,不要使用民意调查,而是自己制作:

class Match(models.Model):
  winner = models.ForeignKey('yourapp.Image')
  loser = models.ForeignKey('yourapp.Image')

制作表单并在Match实例中保存轮询结果。 要知道图片显示的次数,只需查看匹配赢家或输家的匹配行:

times_shown = Match.objects.filter(Q(winner=pic)|Q(loser=pic)).count()

然后同样适用于了解图片的流行程度。如果它通常是赢家,那么你可以假设它看起来很漂亮。希望这会有所帮助。