为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 django 中重定向时发送字典或数据?

如何在 django 中重定向时发送字典或数据?

哆啦的时光机 2022-06-02 15:53:04
我制作了一个网络应用程序,我可以在其中发布图像,其他用户可以点赞。但是,如果他已经喜欢该帖子,那么它将是红色的,并且再次单击它将与该帖子不同,如果用户不喜欢该帖子,那么它将是绿色的,并且单击该按钮将导致喜欢该帖子。我可以喜欢和不喜欢功能,但我无法根据逻辑更改按钮颜色。在 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 %}视图.pydef 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))
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

做这样的事情



if voter_id.exists():

    # Delete the voter object or remove vote

    messages.info("disliked")

else:

    # Create voter object or add vote

    messages.info("liked")

return redirect("YOUR_REDIRECT_URL")


查看完整回答
反对 回复 2022-06-02
?
暮色呼如

TA贡献1853条经验 获得超9个赞

当你点击运行


function likeAndDislike(this) {

    if (this.className.includes("btn-like")){

        this.classList.add("btn-dislike");

        this.classList.remove("btn-like");

    }

    if (this.className.includes("btn-dislike")) {

        this.classList.add("btn-like");

        this.classList.remove("btn-dislike");

    }

}


查看完整回答
反对 回复 2022-06-02
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信