无法使用django set_cookie设置cookie

rxztt3cl  于 2023-07-01  发布在  Go
关注(0)|答案(1)|浏览(130)

我正在尝试使用django set_cookie设置cookie。我将dict转换为字符串,然后将其设置在名为'blah'的cookie中。cookie被设置,但我看到逗号被替换为\054
Python代码

x = {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3",
        }
        response.set_cookie('blah', json.dumps(x)) 
        return response

我在Chrome中看到的:

"{\"key1\": \"value1\"\054 \"key2\": \"value2\"\054 \"key3\": \"value3\"}"

有什么建议吗?我错过了什么,请建议。
django==4.2

2sbarzqh

2sbarzqh1#

有什么建议吗?我错过了什么,请建议。
没什么事实上,这与逗号完全相同。实际上,'\054' == ','

> '\054' == ','
true

这只是它如何显示一个字符串,但内容是完全相同的。事实上,如果我们这样解析JSON blob,我们得到:

> JSON.parse("{\"key1\": \"value1\"\054 \"key2\": \"value2\"\054 \"key3\": \"value3\"}");
{ key1: 'value1', key2: 'value2', key3: 'value3' }

因此它将其解析为正确的JavaScript对象。你可以用'foo'"foo"将它与字符串 literal 进行比较,两者都是相同值的表示,就像'\40'' '一样。

相关问题