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.
This commit is contained in:
sarahboyce 2022-03-26 20:54:48 +01:00 committed by Carlton Gibson
parent 40b8a6174f
commit ae506181f7
2 changed files with 19 additions and 3 deletions

View File

@ -847,6 +847,7 @@ answer newbie questions, and generally made Django that much better:
Sander Dijkhuis <sander.dijkhuis@gmail.com> Sander Dijkhuis <sander.dijkhuis@gmail.com>
Sanket Saurav <sanketsaurav@gmail.com> Sanket Saurav <sanketsaurav@gmail.com>
Sanyam Khurana <sanyam.khurana01@gmail.com> Sanyam Khurana <sanyam.khurana01@gmail.com>
Sarah Boyce <https://github.com/sarahboyce>
Sarthak Mehrish <sarthakmeh03@gmail.com> Sarthak Mehrish <sarthakmeh03@gmail.com>
schwank@gmail.com schwank@gmail.com
Scot Hacker <shacker@birdhouse.org> Scot Hacker <shacker@birdhouse.org>

View File

@ -247,8 +247,8 @@ You can edit it multiple times.
.. method:: get_session_cookie_age() .. method:: get_session_cookie_age()
Returns the age of session cookies, in seconds. Defaults to Returns the value of the setting :setting:`SESSION_COOKIE_AGE`. This can
:setting:`SESSION_COOKIE_AGE`. be overridden in a custom session backend.
.. method:: set_expiry(value) .. method:: set_expiry(value)
@ -288,13 +288,28 @@ You can edit it multiple times.
``None``. Defaults to the value stored in the session by ``None``. Defaults to the value stored in the session by
:meth:`set_expiry`, if there is one, or ``None``. :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() .. method:: get_expiry_date()
Returns the date this session will expire. For sessions with no custom 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 expiration (or those set to expire at browser close), this will equal the
date :setting:`SESSION_COOKIE_AGE` seconds from now. 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() .. method:: get_expire_at_browser_close()