Как сохранить массив в кеше Django? - PullRequest
0 голосов
/ 25 апреля 2019

У меня проблемы с сохранением массивов в кеше django. Когда я получаю массив [['hello', 1], [2,3]] из кеша django, он конвертируется в [['hello', 1], [2, 3]]. По сути, одинарные кавычки изменяются на код символа ascii. Эта проблема не возникает с простыми строками. Как я могу избежать этой проблемы?

s = [['hello',1],[2,3]]
    s1 = json.dumps(s)
    cache.set('testv',s1)
    a = json.loads(cache.get('testv'))
    return render(request,'sm/technical_tt.html',{'start':a})

1 Ответ

1 голос
/ 25 апреля 2019

Это может только то же самое простое string, а не object, поэтому вам нужно dump array в string для сохранения и для доступа просто load string в array Пример:

import json
arr = [['hello',1],[2,3]]
arr = json.dumps(arr)
# Here you can save 'arr' var in cache and it'll save as
# Output => arr = '[["hello", 1], [2, 3]]'

arr = '[["hello", 1], [2, 3]]'
arr = json.loads(arr)

# Output => arr = [["hello", 1], [2, 3]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...