python django json.dumps()和javascript cookie

时间:2018-06-28 02:18:45

标签: javascript python django

6.5和Django 2.1.a1。我在以为可能是简单的cookie构建方面遇到了麻烦。我为cookie有效负载创建了dict。我最后得到两个字符串键,每个键都有一个字符串值。

一个例子是:

>>> cookie_payload = dict()
>>> cookie_payload["whereAmI"] = "index"
>>> cookie_payload["account_number"] = "123456789"
>>> json.dumps(cookie_payload, ensure_ascii=True)
'{"whereAmI": "index", "account_number": "123456789"}'

下面的set_cookie的结果是:

'{"whereAmI": "index"\054 "account_number": "123456789"}'

到达我的JavaScript时。 JSON.parse()放在“ 054”上。逗号显然已被转义,但未进行url编码。如何强制逗号保持“,”或在JavaScript中对字符串进行不同的解码?

    @verified_email_required
    def index(request):
        cookie_payload = dict()

        try:
            cookie_payload["whereAmI"] = "index"

            my_profile = Profile.objects.get(user=request.user)
            profile_in_groups = Group.objects.all().filter(
                grouplist__profile__account_number=my_profile.account_number) \
                .order_by('name')

            cookie_payload["account_number"] = my_profile.account_number.__str__()


            my_render = render(request, 'App/index.html', {
                'profile': my_profile
            })
            my_render.set_cookie("Session",
                                 value=json.dumps(cookie_payload, 
                                                 ensure_ascii=True))
        except ObjectDoesNotExist:
            my_render = redirect('profile-create')
            my_render.set_cookie("Session",
                                 value=json.dumps(cookie_payload, 
                                                 ensure_ascii=True))

        return my_render

0 个答案:

没有答案