首页 > 解决方案 > 分配前引用的局部变量 - Django 2.1

问题描述

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

我已经看过这个有 24 票赞成的答案。答案说我在views.py中已经这样做了:

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

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

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

Django 版本:2.1

标签: pythonauthenticationdjango-2.1

解决方案


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

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

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


推荐阅读