如何创建一个喜欢按钮,用户只能在 Django 网站中喜欢一次



我想创建一个功能齐全的喜欢按钮,当一个用户只能喜欢一次时。

我已经创建了一个喜欢按钮,

但这不是我正在寻找的,我当前的喜欢按钮可以根据用户想要喜欢的次数进行多次喜欢。

enter code here
##models.py
class Images(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, 
              related_name='images_created', on_delete=models.CASCADE)
    created = models.DateTimeField(auto_now_add=True, null=True,         
               blank=True)
    message_likes = models.IntegerField(default=0)
    objects = InheritanceManager()
##views.py
def like_treasure(request):
    treasure_id = request.POST.get('treasure_id', None)
    message_likes = 0
    if (treasure_id):
        treasure = Postsms.objects.get(id=int(treasure_id))
        if treasure is not None:
            message_likes = treasure.message_likes + 1
            treasure.message_likes = message_likes
            treasure.save()
    return HttpResponse(message_likes)

## $
$('button').on('click', function(event){
    event.preventDefault();
    var element = $(this);
    $.ajax({
    url : '/like_treasure/',
    type : 'POST',
    data : { treasure_id : element.attr("data-id")},
    success : function(response){
        element.html(' ' + response);
 }
});
});
##html
 <button style="background-color: red" id ="likes" data-id="{{foo.id}}"
   class="btn btn-mini  glyphicon glyphicon-heart"
   type="button" >
   {% if foo.message_likes > 0 %} {{ foo.message_likes }} {% endif %}

在图像模型中采用布尔字段而不是整数字段。因此,用户只能喜欢一次图像。休息,用布尔字段在前端处理它。

最新更新