django:如何实现公共的like按钮



我想实现一个简单的'喜欢'按钮。不需要用户认证等,我更喜欢简单,就点击+1喜欢。有什么想法如何实现这个像btn?谢谢你的帮助!

models.py

class Mainnews(models.Model):
author = models.ForeignKey(Author, on_delete=models.DO_NOTHING, default= True)
title = models.CharField(max_length=200)
description = models.TextField()
image = models.ImageField(upload_to = 'photos/%Y/%m/%d/')
is_published = models.BooleanField(default = True)
publish_date = models.DateTimeField(default = datetime.now, blank = True)
views_counter = models.IntegerField(default=0)
likes = models.IntegerField(default=0)

def number_of_likes(self):
return self.likes.count()

def __str__(self):
return self.title

您可以为Mainnews对象的主键创建一个带有参数的视图(您可以在URL中这样做/main-news/1/like或您可以在request.POST中发布它)

然后在你的视图中(创建一个不需要身份验证的视图)从数据库中获取对象并执行以下操作:main_news.likes = main_news.likes + 1

你的视图必须是POST,因为你想改变数据库。

最新更新