Commit d42cbde0 authored by Simon Baechler's avatar Simon Baechler Committed by Tim Graham
Browse files

[1.7.x] Refs #21357 -- Added a working session example to the docs.

parent 285371bd
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -475,14 +475,22 @@ can access these properties as part of a test condition.
    A dictionary-like object containing session information. See the
    :doc:`session documentation</topics/http/sessions>` for full details.

    To modify the session and then save it, it must be stored in a variable
    first (because a new ``SessionStore`` is created every time this property
    is accessed)::
    In Django 1.7, ``client.session`` returns a plain dictionary if the session
    is empty. The following code creates a test client with a fully working
    session engine::

        def test_something(self):
            session = self.client.session
            session['somekey'] = 'test'
            session.save()
        from importlib import import_module

        from django.conf import settings
        from django.test import Client

        def get_client_with_session(self):
            client = Client()
            engine = import_module(settings.SESSION_ENGINE)
            s = engine.SessionStore()
            s.save()
            client.cookies[settings.SESSION_COOKIE_NAME] = s.session_key
            return client

Example
~~~~~~~