gpt4 book ai didi

python - 防止用户多次提交喜欢或不喜欢的信息

转载 作者:行者123 更新时间:2023-12-01 05:56:52 25 4
gpt4 key购买 nike

javascript

$('button.like').click(function(){
$.get($(this).parent().attr('href'),function(data){
$(this).html(''+data);
});
return false;
});

查看

def like(request):
if request.is_ajax:
r = Restaurant.objects.get(pk=1)
r.food_likes +=1
r.save()
return HttpResponse(str(r.food_likes))
else:
return redirect(request.META.get('HTTP_REFERER'))

html

    <a href="/like/">
<button class="like pull-right btn btn-info text-left pad0 btn-mini mrg-left5 like-food">
<i class="icon-thumbs-up"></i>&nbsp;`{{rest.food_likes}}`
</button>
</a>

怀疑

如何使用 session 更改 javascript,以便即使用户重新加载页面,他也应该能够切换喜欢和不喜欢,例如,对于特定 session ,如果用户喜欢特定餐厅,那么如果他刷新后,如果他想撤消他的操作,也应该提示他不喜欢它,请帮忙

最佳答案

您可以轻松地在 django 中存储用户 session 中的数据,

# Returns value of is_user_like key from user's session if it's available, or False
request.session.get('is_user_like', False)
# Sets value of is_user_like in user's session to True
request.session['is_user_like'] = True

将模板更改为:

<a href="/like/">
<button class="like pull-right btn btn-info text-left pad0 btn-mini mrg-left5 like-food">
<i class="{% if user_likes %}icon-thumbs-down{% else %}icon-thumbs-up{% endif %}"></i>&nbsp;`{{rest.food_likes}}`
</button>
</a>

并将 user_likes = request.session.get('is_user_like', False) 传递给模板渲染器。还将 store to session 行添加到您喜欢的 View 的代码中(并且不喜欢 View 是负面的 - 如果您有的话):

def like(request):
if request.is_ajax:
r = Restaurant.objects.get(pk=1)
r.food_likes +=1
r.save()
request.session['is_user_like'] = True
return HttpResponse(str(r.food_likes))
else:
return redirect(request.META.get('HTTP_REFERER'))

查看此文档,确保您已在 django 中启用 SessionMiddleware - 它在生成的设置文件中默认启用:https://docs.djangoproject.com/en/dev/topics/http/sessions/

关于python - 防止用户多次提交喜欢或不喜欢的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12081213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com