Django 在注销管理页面时运行函数



我正在尝试找到一种在管理员注销(django管理页面(上处理的方法,某个文件夹中的文件将被删除。因为我在某些管理员交互中有一个功能,所以文件将被保存到一个文件夹中,我希望当管理员注销管理页面时删除这些文件。

我只知道 Django 在浏览器关闭时检测用户注销,如下所示:

if settings.SESSION_EXPIRE_AT_BROWSER_CLOSE:

我想做的是覆盖管理站点的注销功能以执行功能并删除文件夹中的文件。我可以看到注销功能存在于 https://github.com/django/django/blob/master/django/contrib/admin/sites.py#L349 但是如何覆盖它并将我的删除文件功能添加到其中?

如果要覆盖logout函数本身,则必须对AdminSite类进行子类化,并使用覆盖logout的实现创建自己的类。

检查此内容以了解如何自定义 AdminSite:如何使用自定义 AdminSite 类?

您还可以使用注销信号在用户注销后运行附加功能。

检查: https://docs.djangoproject.com/en/dev/ref/contrib/auth/#module-django.contrib.auth.signals

最新更新