2016-03-11 4 views
0

Я пытаюсь отформатировать результат куки, исходящий из запроса в django.Форматирование запросов cookie Django

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 и понравится, чтобы добавить пространство. Куки были массивом из браузера.

Есть попробуйте использовать json.dump и json.load, но ни один из этих двух не работал

ответ

1

Вы можете использовать URLLIB для удаления символов, описанных. См. Код ниже.

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

спасибо, хотя я понял это. –

+0

Нет проблем, если у вас есть другое решение, чем у меня, пожалуйста, обновите свой вопрос своим ответом для других, которые могут столкнуться с одной и той же проблемой. – Oli

+0

приняли ваш ответ, потому что это первый шаг, затем вы используете 'json.loads (result)', чтобы преобразовать его в json –

0

Фигурных это первого использование URLLIB, чтобы преобразовать его в обычный текст, а затем преобразовать нагрузки объекта JSON, используя json.loads() функции

import urllib 
import json 
def submitcheckout(request): 
    result = urllib.unquote(request.COOKIES['cart']) 
    json_result = json.loads(result) 
Смежные вопросы