diff --git a/AUTHORS b/AUTHORS index 1f96c6700c..6f0096e7cb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -847,6 +847,7 @@ answer newbie questions, and generally made Django that much better: Sander Dijkhuis Sanket Saurav Sanyam Khurana + Sarah Boyce Sarthak Mehrish schwank@gmail.com Scot Hacker diff --git a/docs/topics/http/sessions.txt b/docs/topics/http/sessions.txt index c36554f22c..c5c78a263a 100644 --- a/docs/topics/http/sessions.txt +++ b/docs/topics/http/sessions.txt @@ -247,8 +247,8 @@ You can edit it multiple times. .. method:: get_session_cookie_age() - Returns the age of session cookies, in seconds. Defaults to - :setting:`SESSION_COOKIE_AGE`. + Returns the value of the setting :setting:`SESSION_COOKIE_AGE`. This can + be overridden in a custom session backend. .. method:: set_expiry(value) @@ -288,13 +288,28 @@ You can edit it multiple times. ``None``. Defaults to the value stored in the session by :meth:`set_expiry`, if there is one, or ``None``. + .. note:: + + This method is used by session backends to determine the session expiry + age in seconds when saving the session. It is not really intended for + usage outside of that context. + + In particular, while it is **possible** to determine the remaining + lifetime of a session **just when** you have the correct + ``modification`` value **and** the ``expiry`` is set as a ``datetime`` + object, where you do have the ``modification`` value, it is more + straight-forward to calculate the expiry by-hand:: + + expires_at = modification + timedelta(seconds=settings.SESSION_COOKIE_AGE) + .. method:: get_expiry_date() Returns the date this session will expire. For sessions with no custom expiration (or those set to expire at browser close), this will equal the date :setting:`SESSION_COOKIE_AGE` seconds from now. - This function accepts the same keyword arguments as :meth:`get_expiry_age`. + This function accepts the same keyword arguments as + :meth:`get_expiry_age`, and similar notes on usage apply. .. method:: get_expire_at_browser_close()