【问题标题】:Django run function on logging out of admin pageDjango在退出管理页面时运行功能
【发布时间】:2020-01-17 08:02:49
【问题描述】:

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

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

if settings.SESSION_EXPIRE_AT_BROWSER_CLOSE:

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

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

    如果您想重写 logout 函数本身,您必须继承 AdminSite 类并创建您自己的类,并使用注销的重写实现。

    查看如何自定义 AdminSite:How to use custom AdminSite class?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-21
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 2022-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多