Как использовать django SESSION_COOKIE_AGE динамически - PullRequest
0 голосов
/ 15 октября 2019

В моем приложении django я хочу, чтобы возраст файлов cookie этого сеанса был динамическим. Например, сеанс по умолчанию для двухдневного сеанса в django. Если я хочу изменить значение на 1 неделю, я могу изменить его, изменив настройки в django, но для этого янужно зайти в файл settings.py проекта.

Есть ли какие-нибудь решения, чтобы через некоторое время, если мне нужно было изменить мой SESSION_COOKIE_AGE, я мог бы изменить это с помощью панели администратора, но не заходил в настройки проектов.py файл

settings.py

SESSION_COOKIE_AGE = 1209600 # I want to make this dynamic

ЛЮБАЯ ПОМОЩЬ БУДЕТ БОЛЬШОЙ

1 Ответ

0 голосов
/ 15 октября 2019

Если я правильно понял, вам нужно переопределить класс SessionBase в пакете django.contrib.session. Пожалуйста, проверьте код здесь он имеет get_session_cookie_age() как

def get_session_cookie_age(self):
    return settings.SESSION_COOKIE_AGE

Вам необходимо переопределить эту функцию для динамического возраста cookie. Вы можете раскошелиться на django.contrib.session в вашем github и обновить его в соответствии с вашими требованиями, или вы можете напрямую клонировать это в своих приложениях django, а затем изменить его.

Вам необходимо удалить django.contrib.sessions из INSTALLED_APPSи используйте ваш измененный код в качестве приложений django.

Более подробно вы можете прочитать здесь

...