disable_inactive_users.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:django-useraudit 作者: muccg 项目源码 文件源码
def handle(self, email=True, verbosity=1, **kwargs):
        self.verbosity = verbosity

        UserModel = get_user_model()
        exp = ExpirySettings.get()
        oldest = exp.earliest_possible_login

        if oldest is None:
            self._info("Account expiry not configured; nothing to do.")
            return

        self._info("Checking for users who haven't logged in since %s" % oldest)

        gone = UserModel.objects.filter(is_active=True, last_login__lt=oldest)

        for username in gone.values_list(UserModel.USERNAME_FIELD, flat=True):
            self._info("Deactiviting user: %s" % username)

        messages = list(filter(None, (self._make_email(exp, user) for user in gone)))

        count = gone.update(is_active=False)
        if count:
            self._info("%d account(s) expired" % count)

        if email and messages:
            self._info("Sending e-mails")
            connection = mail.get_connection()
            connection.send_messages(messages)

        self._info("Done")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号