Django 用户保存钩子(Hook)

标签 django django-admin

在 django 管理中,当用户被赋予 super 用户状态时,我希望执行检查。 我想查看用户电子邮件是否来自 *.company.com 形式

最好的方法是什么?

最佳答案

创建 signal :

from django.db.models.signals import post_save
from django.contrib.auth.models import User

def check_superuser(sender, instance, signal, *args, **kwargs):
    if sender is User and instance.is_superuser and not instance.email.endswith('@company.com'):
        ...

post_save.connect(check_superuser, sender=User)

现在,每次保存User实例时,它都会运行上面的check_superuser方法

关于Django 用户保存钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11909877/

相关文章:

python - Django:如何在 Wagtail CMS 中使用两个不同的数据库

python - 当根类别具有相同的子类别时,如何在 django 中实现类别/子类别?

django - 不理解 Django 管理员登录

Django admin - 如何隐藏用户编辑中的某些字段?

python - 在 Django DetailView 中获取表单

python - 在 django 模板中使用变量

django - django管理面板添加确认窗口

python - 将自定义操作添加到 UserModel 的管理页面

django - 为什么 Debug模式下的 app/admin false 给我服务器错误 500

django - 在 Django Admin 中显示我的模型数据的子集