Как использовать сеанс Django для чтения / установки файлов cookie? - PullRequest
1 голос
/ 06 апреля 2009

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

sessionID = request.session ["userid"]

Программа не проходит эту точку!

Есть идеи?

1 Ответ

4 голосов
/ 06 апреля 2009

Во-первых, Django уже создает пользовательский объект для вас, поэтому вам не нужно сохранять его в сеансе. Просто получите к нему доступ:

request.user

Например, чтобы получить имя пользователя, которое вы используете:

request.user.username

Далее, если вы хотите сохранить информацию в сеансе, вам не нужно беспокоиться об этом на уровне файлов cookie. Просто запишите пары ключ / значение в словарь request.session.

Вот несколько примеров из документации Django.

Редактировать : причина, по которой ваша программа не отвечает, заключается в том, что возникает исключение KeyError. 'userid' не существует в качестве ключа в словаре сеанса (если вы не добавили его самостоятельно).

Вот почему лучше запрограммировать словарь так:

id = request.session.get('somekey', False)

Который будет возвращать False, если в словаре отсутствует 'somekey'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...