2

ビュー.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)

疑問に思う

変数文字列を使用してセッション キーを設定しているときに問題が発生しました。「restaurant」キー内で「like」セッション キーを設定するにはどうすればよいですか??、助けてください

4

1 に答える 1

0

最初に空の辞書を作成します request.session[restaurant] = dict()

次に、課題を行います request.session[restaurant][like] = str(like)

于 2012-08-23T06:54:55.053 に答える