Изменение таймаута неактивности администратора Django - PullRequest
1 голос
/ 29 марта 2011

Как увеличить время бездействия администратора Django?Значение по умолчанию кажется невероятно коротким, и кажется, что время ожидания истекло всего через пару минут, что очень раздражает.Обратите внимание, мне известно о SESSION_COOKIE_AGE , но я не хочу, чтобы это изменение повлияло на тайм-аут для общедоступного сайта.

Ответы [ 2 ]

1 голос
/ 29 марта 2011

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

Вы можете принудительно вызватьсеанс обновляется при каждом запросе с использованием settings.SESSION_SAVE_EVERY_REQUEST, но это может привести к проблемам с производительностью на загруженном сайте.

Другая возможность состоит в том, что вы специально установили для SESSION_COOKIE_AGE что-то маленькое, но теперь вы хотите, чтобы куки-файлы администратора сохранялись дольше.Невозможно отделить тайм-ауты сеанса администратора от обычных тайм-аутов пользователя, по крайней мере, из коробки.

Вы также можете написать промежуточное ПО, которое вытягивает пользователя из запроса, проверяет user.is_staff и, если так, вызываетrequest.session.set_expiry (), чтобы вручную выдвинуть время истечения.

0 голосов
/ 17 октября 2013

Один из возможных способов настройки времени ожидания сеанса - запустить два экземпляра вашего сайта. Тот, который доступен только вам (например, работает на localhost: 8080), где страница администратора доступна и для нее имеется специальный файл admin_settings.py, а также ваш обычный сайт, который является общедоступным.

В зависимости от настроек вашего сервера это легко сделать с помощью Apache и VirtualHosts (я не буду вдаваться в подробности, поскольку у вас могут быть другие настройки).

Затем вы можете использовать SSH-туннели для доступа к сайту администратора, работающему на локальном хосте вашего сервера.

Другой вариант, если вы действительно не хотите, чтобы ваш сайт администратора работал постоянно, - это запустить runserver manage.py для запуска экземпляра вашего сайта и передать ему настройки администратора (так как в идеале только вы могли бы Чтобы получить доступ к этому, runserver должен иметь возможность обрабатывать трафик):

$ python manage.py runserver --settings=admin_settings localhost:8080

Затем получите доступ к нему через туннель SSH. Если вы хотите избежать SSH-туннелей с помощью этого метода, вы можете посмотреть на его публичный запуск, но через stunnel, как указано здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...