【问题标题】:django sessions to prevent user from multiple votingdjango 会话以防止用户多次投票
【发布时间】:2012-08-18 11:11:45
【问题描述】:

views.py

def like(request,option="food",restaurant = 1):
    if request.is_ajax:
        rest = 'rest'
        like = '%s-like' % str(option)

        if restaurant in request.session:

            if like not in request.session[restaurant]:
                request.session[restaurant][like] = str(like)
            else:
                return HttpResponse('warning')
        if restaurant not in request.session:
            request.session[restaurant] = restaurant


        r = Restaurant.objects.get(pk=restaurant)
        if option == "food":
            r.food_likes +=1
            r.save()
            return HttpResponse(str(r.food_likes))
        elif option=="service":
            r.service_likes +=1
            r.save()
            return HttpResponse(str(r.service_likes))
        elif option == "ambience":
            r.ambience_likes +=1
            r.save()
            return HttpResponse(str(r.ambience_likes))
    else:
        return redirect(request.META.get('HTTP_REFERER'))

错误

'unicode' object does not support item assignment

request.session[restaurant][like] = str(like)

怀疑

我在使用变量字符串设置会话密钥时遇到问题, 我应该如何在“餐厅”键中设置会话键“喜欢”??请帮助

【问题讨论】:

    标签: python django django-sessions


    【解决方案1】:

    首先创建一个空字典 request.session[restaurant] = dict()

    然后做作业 request.session[restaurant][like] = str(like)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 2014-05-31
      • 2019-06-07
      • 1970-01-01
      相关资源
      最近更新 更多