python - login() 缺少 1 个必需的位置参数:“请求”
问题描述
当我尝试使用带有 Django 应用程序的电子邮件登录时出现此错误。
TypeError at /accounts/login
login() missing 1 required positional argument: 'request'
Request Method: POST
Request URL: http://127.0.0.1:8000/accounts/login
Django Version: 2.2.4
Exception Type: TypeError
Exception Value:
login() missing 1 required positional argument: 'request'
我的代码在 django 视图中看起来像这样
def login(request):
if request.method == 'POST':
#username = request.POST['username']
email = request.POST['email']
password = request.POST['password']
user = auth.authenticate(request, email=email, password=password)
if user is not None:
auth.login(request, user)
messages.success(request, 'You are now logged in')
return redirect('dashboard')
else:
messages.error(request, 'Invalid credentials')
return redirect('login')
else:
return render(request, 'accounts/login.html')
网址.py
urlpatterns = [
path('login', views.login, name='login'),
path('register', views.register, name='register'),
path('logout', views.logout, name='logout'),
path('dashboard', views.dashboard, name='dashboard')
]
解决方案
推荐阅读
- c++ - glDeleteTextures 给出错误 E0167(类型参数与类型参数不兼容)
- vb.net - SharePoint 链接应在文件资源管理器中打开,但在 Web 浏览器中打开
- mysql - 如何排列和分组 MySQL 结果
- sql - 运行脚本时 TS 上出现重复别名错误
- sql - 当字段带有引号时,在 R 中使用 sqldf 进行过滤
- java - 具有通用接口实现的 Java 工厂继承
- symmetricds - SymmetricDS 作为 tomee 服务器上的战争
- powershell - powershell 加入脚本块
- typescript - 简化 ReturnType 以合并来自对象的多个函数
- ruby - 跟踪在 ruby 中使用 open3 调用的 dd 命令的进度