我制作了一个网络应用程序,我可以在其中发布图像,其他用户可以点赞。但是,如果他已经喜欢该帖子,那么它将是红色的,并且再次单击它将与该帖子不同,如果用户不喜欢该帖子,那么它将是绿色的,并且单击该按钮将导致喜欢该帖子。我可以喜欢和不喜欢功能,但我无法根据逻辑更改按钮颜色。在 django 中,我们无法在 . 中传递字典redirect('urlname')。那么根据给定的逻辑,有什么方法可以使我的按钮变为绿色或红色?代码
它是 HTML 文件
{% extends 'navbar-footer.html'%}
{% block content %}
<style>
.btn-like{
color: green;
}
.btn-dislike{
color: red;
}
</style>
<h1>{{button}}</h1>
<h4>This is item number {{item.id}}</h4>
<h4>{{ item.title }}</h4>
<h4>{{ item.body }}</h4>
<button type="button" class="btn {{button}}" onclick="javascript:{document.getElementById('increase_like').submit()}">Like {{item.likes}}</button>
<form action="{%url 'increase_like' item.id%}" method="POST" id='increase_like' >
{% csrf_token %}
<input type="hidden" name="" id="">
</form>
<img src="{{item.image.url}}" alt="">
{% for user in voter.voter.all %}
<h1>{{user.username}}</h1>
{% endfor %}
{% endblock %}
视图.py
def likes(request, item_id):
voter_id = Vote.objects.filter(item_product_id=item_id, voter=request.user)
if voter_id.exists():
voter_obj = get_object_or_404(Vote, item_product_id=item_id)
voter_obj.voter.remove(request.user)
item = get_object_or_404(Item_Product, pk=item_id)
item.likes = voter_obj.voter.count()
item.save()
voter_obj.save()
return redirect('/products/item_Products/'+str(item_id))
elif voter_id.exists() == False:
voter_obj = get_object_or_404(Vote, item_product_id=item_id)
voter_obj.voter.add(request.user)
item = get_object_or_404(Item_Product, pk=item_id)
vote_count = item.likes
item.likes = voter_obj.voter.count()
item.save()
voter_obj.save()
return redirect('/products/item_Products/'+str(item_id))
潇潇雨雨
暮色呼如
相关分类