如何在django中注销时获取用户

Posted

技术标签:

【中文标题】如何在django中注销时获取用户【英文标题】:How to get the user while Logout In django 【发布时间】:2020-09-01 11:12:40 【问题描述】:

我正在尝试让用户从 django 注销并将其作为参数传递给外部 python 脚本。 这是我的注销视图:

def logoutUser(request):
    user = request.user
    exec = run([sys.executable,'scriptlogout.py', user], shell=False, stdout=PIPE)
    logout(request)
    return redirect('beesy:Login')

但这不起作用,我无法检索点击注销的用户

谢谢你帮助我

【问题讨论】:

usernot 一个字符串,它是一个User 对象(严格来说是一个惰性对象),所以你不能在@ 中使用user 987654325@ 部分。 感谢您的回复您对我想做的事情有什么建议吗? 如果你使用exec = run([sys.executable,'scriptlogout.py', user.username], shell=False, stdout=PIPE)会怎样 【参考方案1】:

谢谢大家,我用过 str() 并且效果很好:

def logoutUser(request):
    user = str(request.user)
    exec = run([sys.executable,'scriptlogout.py', user], shell=False, stdout=PIPE)
    logout(request)
    return redirect('beesy:Login')

【讨论】:

以上是关于如何在django中注销时获取用户的主要内容,如果未能解决你的问题,请参考以下文章

注销后如何保存购物车数据的会话,以便用户在 Django 中再次登录时可以找到它们?

当他从所有浏览器(Django-rest-auth,JWT)更改密码时如何注销用户?

在django中,request.session.set_expiry是如何使用idle后注销用户的?

当用户在swift中按下注销按钮时如何停止更新位置

如何使用 djangocms 在每个页面中使用 django-userena 登录和注销表单?

如何在 Spring Security 无状态(jwt 令牌)中注销用户?