-1
ここでは、1つのタイプのユーザがログインすると、URLを変更するだけで他のユーザのページにアクセスできます。グループの担当者の利用者が自分でログインしている場合はどのようにアクセスすることができますurls.pyDjangoの一部のユーザグループだけの特定のページを制限する
url(r'^$', views.login_user, name='login_user'),
url(r'^rep$', views.rep, name='rep'),
views.py
def login_user(request):
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
u = User.objects.get(username=username)
if user.is_active:
login(request, user)
if user.groups.filter(name='hod').exists():
return redirect('/hod')
elif user.groups.filter(name='principal').exists():
return redirect('/principal')
elif user.groups.filter(name='Rep').exists():
return redirect('/rep')
elif user.groups.filter(name='Ajithzen').exists():
return redirect('/ajithsen')
elif user.groups.filter(name='graphics').exists():
return redirect('/ashok')
elif user.groups.filter(name='Event_incharge').exists():
return redirect('/incharge')
elif user.groups.filter(name='Event_coord').exists():
return redirect('/chair')
elif user.groups.filter(name='IEEE').exists():
return redirect('/ieee')
else:
return render(request, 'retest/login.html', {'error_message': 'Invalid login'})
else:
return render(request, 'retest/login.html', {'error_message': 'Your account has been disabled'})
else:
return render(request, 'retest/login.html', {'error_message': 'Invalid login'})
return render(request, 'retest/login.html')
@login_required
def rep(request):
u = request.user
all_requests= Retest.objects.all()
return render(request, 'retest/home.html', {'u':u, 'all_requests' : all_requests })
@login_requiredとともに、特定のユーザーのみに特定のページを制限することができます他の人のページを変更する/他の人に変更する