Из того, что я могу сказать, request.session.set_expiry
просто переопределяет настройку SESSION_COOKIE_AGE
для этого конкретного сеанса. С SESSION_SAVE_EVERY_REQUEST = False
(по умолчанию) функциональной разницы не будет.
В обоих случаях активность сеанса основана на том, когда сеанс был последний раз изменен (если SESSION_SAVE_EVERY_REQUEST
не равен True
, в этом случае он сохраняется при каждом запросе, поэтому он эффективно изменяется при каждом запросе)
Одним из примеров является то, что вы можете захотеть, чтобы пользователи в определенном разделе вашего приложения имели более длительный срок действия сессии, поэтому вы можете использовать request.session.set_expiry
с пользовательским значением в представлениях, связанных с этим приложением, а затем сбросить его с помощью request.session.set_expiry(SESSION_COOKIE_AGE)
когда они покидают этот конкретный раздел.