Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Session.get_decoded возвращает пустой словарь. [RSS Feed]

#1 Сен. 12, 2012 10:45:51

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Session.get_decoded возвращает пустой словарь.

Во вью добавляю код:

print Session.objects.all()[0].get_decoded()

В консоли вижу пустой словарь. Приложение работает, пользователи авторизуются. Почему не расшифровывается? Django 1.2



Офлайн

#2 Сен. 12, 2012 12:34:24

Chern
От: Киев
Зарегистрирован: 2010-09-15
Сообщения: 71
Репутация: +  3  -
Профиль   Отправить e-mail  

Session.get_decoded возвращает пустой словарь.

    def get_decoded(self):
        encoded_data = base64.decodestring(self.session_data)
        pickled, tamper_check = encoded_data[:-32], encoded_data[-32:]
        if md5_constructor(pickled + settings.SECRET_KEY).hexdigest() != tamper_check:
            from django.core.exceptions import SuspiciousOperation
            raise SuspiciousOperation("User tampered with session cookie.")
        try:
            return pickle.loads(pickled)
        # Unpickling can cause a variety of exceptions. If something happens,
        # just return an empty dictionary (an empty session).
        except:
            return {}

Пустая сессия или ошибка.
Можешь воткнуть pdb и посмотреть подробней. Если интересно



Отредактировано Chern (Сен. 12, 2012 12:36:17)

Офлайн

#3 Сен. 19, 2012 14:58:42

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Session.get_decoded возвращает пустой словарь.

Да, пустая была, я просто не знал, что такое возможно.



Офлайн

  • Начало
  • » Django
  • » Session.get_decoded возвращает пустой словарь.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version