格式化Django请求cookie

时间:2016-03-11 21:29:14

标签: python json django cookies

我试图格式化来自django中请求的Cookie结果。

def submitcheckout(request):
    print(request.COOKIES['cart'])

打印命令的结果是

[{%22cartprice%22:%22333%22%2C%22cartimg%22:%22/media/CACHE/images/uploads/7-1_BLY84nL/ec71ea409aa7d89935e9a24ef6f7883e.jpg%22%2C%22cartname%22:%22Bat-hub%22%2C%22cartid%22:%227%22}]

同时运行此命令print(type(request.COOKIES['cart']))将返回显示其字符串的数据类型str。字符串对我来说是无用的,因为我不知道如何删除填充的%22和添加的代表空间的喜欢。 Cookies是浏览器中的一个数组。

尝试使用json.dumpjson.load,但两者都没有使用

2 个答案:

答案 0 :(得分:1)

您可以使用urllib删除描述的字符。请参阅下面的代码。

import urllib
def submitcheckout(request):
    print(urllib.unquote(request.COOKIES['cart']))

答案 1 :(得分:0)

想出来 首先使用urllib将其转换为普通文本,然后使用json.loads()函数

转换load json对象
import urllib
import json
def submitcheckout(request):
    result = urllib.unquote(request.COOKIES['cart'])
    json_result = json.loads(result)