0

我最近开始学习 Django,所以对我来说还是有点困惑。

如果有人可以指导我链接或教程或帮助我弄清楚以下内容,我会非常高兴。

- 允许用户每天只投票一次

这是来自我的models.py

class YoungArtistShortlisted(models.Model):
    image = models.ImageField(upload_to=upload_file_path, blank=True, null=True)
    artist = models.CharField(max_length=200)
    age = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True, db_index=True)
    modified = models.DateTimeField(auto_now=True, db_index=True)
    location = models.CharField(max_length=3, choices=LOCATION_CHOICES)
    likes = models.IntegerField(default=0)

    def __unicode__(self):
        return self.artist

这是我的views.py

def vote(request, youngartistshortlisted_id):
    p = get_object_or_404(YoungArtistShortlisted, pk=youngartistshortlisted_id)
    p.likes += 1
    p.save()

    return HttpResponseRedirect(reverse_lazy('youngartist:submission_vote', args=(p.id,)))

我目前正在开发一个应用程序,以在用户使用 Facebook 登录时自动创建用户。我完全不知道如何将投票限制为每天一次,所以我非常感谢提供的任何帮助,因为我似乎在谷歌上找不到任何东西。谢谢!

我正在使用 Django 1.8.2

4

1 回答 1

1

只需添加一个字段来跟踪用户上次投票的时间。

例子,

last_vote_time = models.DateTimeField()

在 中views.py,检查是否last_vote_time与当前时间相差 24 小时。

这应该会有所帮助。告诉我你是否需要一些代码。但是,我认为你可以做到。

于 2015-08-11T11:49:35.173 回答