gpt4 book ai didi

python - Django身份验证错误: 'str' object has no attribute 'pk'

转载 作者:行者123 更新时间:2023-12-01 07:00:15 31 4
gpt4 key购买 nike

我在 Django 身份验证中遇到问题,每当我尝试登录时,都会出现“str”对象没有属性“pk”错误。我使用 MySql 作为我的数据库。

# views.py
def user_login(request):
if request.method == 'POST':
form = AuthenticationForm(request,data=request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate( username= username,password= password)
if user is not None:
login(request,username)
return redirect('app:home')
else:
return render(request,'404error.html',context={})
else:
return render(request,'404error.html',context={})

form = AuthenticationForm()
return render(request,'login.html',context={'form':form})

def user_logout(request):
logout(request)
return redirect('app:home')
#urls.py
# from django.contrib import admin
from django.urls import path,include
# from app import urls
from . import views
app_name = 'app'

urlpatterns = [

path('',views.home,name='home'),
path('register/',views.register,name='register'),
path('login/',views.user_login,name='user_login'),

]

最佳答案

你应该login(..) [Django-doc] User 对象,因此 user,而不是 username,因此:


login(request, <b>user</b>)

关于python - Django身份验证错误: 'str' object has no attribute 'pk' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58669548/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com