Я изо всех сил пытаюсь понять это, сеансы работают, когда я запускаю свое приложение нормально, но я не могу понять, как установить данные в сеансе в моем тестовом примере.
Документы говорят вВ тестовом примере вы должны сохранить сеанс, чтобы применить изменения перед выполнением запроса.https://docs.djangoproject.com/en/1.2/topics/testing/#persistent-state
например,
from django.test import TestCase
class TestLogin(TestCase):
def test_processuser(self):
redirect = '/processuser/'
session = self.client.session
session["id"] = '1234'
session.save()
response = self.client.get(redirect)
Однако объект сеанса, возвращаемый из self.client.session, является просто обычным python dict?
Копание в коде клиента.вызов сеанса таков:
def _session(self):
"""
Obtains the current session variables.
"""
if 'django.contrib.sessions' in settings.INSTALLED_APPS:
engine = import_module(settings.SESSION_ENGINE)
cookie = self.cookies.get(settings.SESSION_COOKIE_NAME, None)
if cookie:
return engine.SessionStore(cookie.value)
return {}
session = property(_session)
cookie = self.cookies.get(settings.SESSION_COOKIE_NAME, None)
возвращает None
, поэтому он просто возвращает dict вместо хранилища сеансов.
Похоже, мне нужно еще немного подготовиться в тестовом клиенте, прежде чем я сохраню сеанс?Не очень много опыта в этом любая помощь будет оценена.
Django 1.2.5 Python 2.6.5
Приветствия,
Asim.