Имя двумерной переменной в сеансах Django
Я пытаюсь создать 2D имя переменной в сессиях, как в примере Django docs на этой странице:
В нем говорится:
# Gotcha: Session is NOT modified, because this alters
# request.session['foo'] instead of request.session.
request.session['foo']['bar'] = 'baz'
но когда я использую этот код, я получаю: KeyError: 'foo'
если я сначала создам 'foo' с помощью request.session.get('foo', 'baz')
,
то request.session['foo']['bar'] = 'bam'
я все еще получаю: KeyError: 'foo'
Почему я не могу установить 2d переменную как в примере из django doc? Спасибо за любую помощь.
request.session.get('foo', 'baz')
ничего не создают.
Вы имеете в виду:
request.session.setdefault('foo', 'baz')
Если задать 'baz' в request.session['foo']
type(request.session['foo'])
является строкой
Вы не можете сделать String['bar']
, поэтому
request.session['foo']['bar'] = 'bam'
не работает.
Что вы действительно хотите сделать? Зачем вам нужен 2d-параметр?