summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorsarahboyce <sarahvboyce95@gmail.com>2022-03-26 20:54:48 +0100
committerCarlton Gibson <carlton@noumenal.es>2022-03-31 17:06:14 +0200
commitae506181f7fb9d9e74f4935686540bef29b60255 (patch)
treec15d94184eb0b3ea54cc8a2a12b74ca2cfcd33b8 /docs
parent40b8a6174f001a310aa33f7880db0efeeb04d4c4 (diff)
Fixed #32129 -- Adjusted the docs for session expiry helpers.
Updated the docs for `get_session_cookie_age`, `get_expiry_age`, and `get_expiry_date` to clarify their intended usage by session backends when saving the session.
Diffstat (limited to 'docs')
-rw-r--r--docs/topics/http/sessions.txt21
1 files changed, 18 insertions, 3 deletions
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()