微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

赋值前引用的局部变量 - Django 2.1

如何解决赋值前引用的局部变量 - Django 2.1

我一直在寻找在 Django 中无需密码即可对用户进行身份验证的方法,但这不是我的疑问。

我看到了 this 的回答,其中有 24 票赞成。答案说我已经在我的 views.py 中这样做了:

user = authenticate(username=user.username)
login(request,user)

当我执行代码时,我收到此错误UnboundLocalError: local variable 'user' referenced before assignment。这对我来说很明显,我正在使用该变量定义一个变量。

那么,如果答案不起作用,为什么会有 24 个赞成票?我该怎么做才能使上述代码正常工作?

Django 版本:2.1

解决方法

正如@chepner 用简单的话解释的那样,这里的问题与在本地范围内使用它有关。

如果您正确地执行了这些步骤,则需要在 views.py 中的相关函数中添加上述代码行。 user 将是您尝试在没有密码的情况下进行身份验证的用户对象。

您可以在此处查看有关 User 对象的更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。