Django запустить функцию при выходе из страницы администратора - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь найти способ обработки при выходе администратора (django страница администратора), файлы в определенной папке будут удалены. Поскольку у меня есть функция для определенных взаимодействий с администраторами, файлы будут сохранены в папке, и я хотел бы, чтобы эти файлы были удалены при выходе администратора из страницы администратора.

Я знаю только о Django обнаружения Выход пользователя из браузера закрыт так:

if settings.SESSION_EXPIRE_AT_BROWSER_CLOSE:

Я хотел бы переопределить функцию выхода из системы на сайте администратора, чтобы выполнить функцию и удалить файлы в папке. Я вижу, что функция выхода из системы существует в https://github.com/django/django/blob/master/django/contrib/admin/sites.py#L349, но как мне переопределить ее и добавить в нее функцию удаления файлов?

1 Ответ

2 голосов
/ 17 января 2020

Если вы хотите переопределить саму функцию logout, вам придется создать подкласс класса AdminSite и создать свой собственный класс с переопределенной реализацией выхода из системы.

Проверьте, как настроить AdminSite : Как использовать пользовательский класс AdminSite?

Вы также можете использовать сигнал выхода из системы для запуска дополнительных функций после выхода из системы.

Проверка: https://docs.djangoproject.com/en/dev/ref/contrib/auth/#module - django .contrib.auth.signals

...