【问题标题】:Formatting Django request cookies格式化 Django 请求 cookie
【发布时间】:2016-03-14 08:38:01
【问题描述】:

我正在尝试格式化来自 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']))return 数据类型为str,它显示了它的字符串。该字符串现在对我来说没用了,因为我不知道如何删除填充的 %22 和添加以表示空间的喜欢。 Cookies 是来自浏览器的数组。

尝试使用json.dumpjson.load,但两者都不起作用

【问题讨论】:

    标签: python json django cookies


    【解决方案1】:

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

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

    【讨论】:

    • 没问题,如果您有与我不同的解决方案,请将您的问题更新为可能遇到相同问题的其他人的答案。
    • 已经接受了你的答案,因为这是第一步,然后你使用json.loads(result)将其转换为json
    【解决方案2】:

    想通了 先使用urllib将其转换为普通文本,然后使用json.loads()函数转换加载json对象

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-24
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多