【发布时间】:2019-04-29 05:23:31
【问题描述】:
我想创建一个功能齐全的按钮,当用户只能喜欢一次时。
我已经创建了一个赞按钮,但这不是我想要的,我当前的赞按钮可以被用户喜欢多次。
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 %}
【问题讨论】:
-
这是在为MVCE哭泣
-
你可以使用
django-secretballot
标签: python jquery ajax django django-models