如何根据 django admin 中指定的用户类型重定向不同的登录页面?
how to redirect different login page according to type of users specified in django admin?
我创建了用户 -
- 用户 1 分配组 A
- 用户 2 分配到组 B
现在我创建了登录页面,以 user1 身份登录后我想重定向到 page1.html
如果以 user2 身份登录,则重定向到 page2.html
为了这
我写了
def login(request):
if request.method == 'POST':
user = auth.authenticate(username=request.POST['username'], password=request.POST['password'])
if user is not None:
auth.login(request,user)
if user.usergroup=='A':
return redirect('pages/page1.html')
else:
return redirect('pages/page2.html')
else:
messages.error(request,'Invalid credentials')
return redirect('login')
# User is authenticate
else:
return render(request,'pages/login.html')
我以 user1 身份登录,出现错误
AttributeError 在 /
'User' 对象没有属性 'usergroup'
请帮助
还有其他代码吗?
试试这个
if user.groups.filter(name='A').exists():
return redirect('pages/page1.html')
else:
return redirect('pages/page2.html')
我创建了用户 -
- 用户 1 分配组 A
- 用户 2 分配到组 B 现在我创建了登录页面,以 user1 身份登录后我想重定向到 page1.html 如果以 user2 身份登录,则重定向到 page2.html 为了这 我写了
def login(request):
if request.method == 'POST':
user = auth.authenticate(username=request.POST['username'], password=request.POST['password'])
if user is not None:
auth.login(request,user)
if user.usergroup=='A':
return redirect('pages/page1.html')
else:
return redirect('pages/page2.html')
else:
messages.error(request,'Invalid credentials')
return redirect('login')
# User is authenticate
else:
return render(request,'pages/login.html')
我以 user1 身份登录,出现错误 AttributeError 在 / 'User' 对象没有属性 'usergroup' 请帮助 还有其他代码吗?
试试这个
if user.groups.filter(name='A').exists():
return redirect('pages/page1.html')
else:
return redirect('pages/page2.html')