python - 分配前引用的局部变量 - 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
解决方案
正如@chepner 用简单的话解释的那样,这里的问题与在本地范围内使用它有关。
如果您正确执行了这些步骤,则在 中的相关函数中views.py
,您需要添加上述代码行。这user
将是您尝试在没有密码的情况下进行身份验证的用户对象。
您可以在此处查看有关User对象的更多信息。
推荐阅读
- typescript - TypeScript 中的强类型剩余参数
- html - 居中的内容是从具有固定高度和滚动条的父级中剪切出来的
- c - wscanf(L"%[^\n]") 正在输入垃圾
- curl - 当`curl -o`时`gzip:stdin:不是gzip格式`
- cs50 - CS50 金融指数。无法让数据出现在 HTML 表格中
- javascript - 提交表单并刷新 DIV 而不刷新页面不起作用?
- python - redis python p订阅带有回调的事件,而不调用.listen()
- java - 不能放入HashMap
- ibm-cloud - IBM Watson Assitant:如何获取完整地址
- excel - 在 Excel 中的上方单元格中查找单词的第一次出现