Я работаю над проектом, который требует нескольких пользователей.Как я должен отправлять пользователей на разные страницы в зависимости от их роли?Вот код для моделей и просмотра, связанных с входом в систему.
models.py
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
Roles = (
('sales', 'SALES'),
('operations', 'OPERATIONS'),
('cashier', 'CASHIER'),
('frontdesk', 'FRONTDESK'),
('client', 'CLIENT'),
)
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE, default=None, null=True)
role = models.CharField(max_length=50, choices=Roles, default='client')
def __str__(self):
return self.user.username
просмотр для входа в систему:
def user_login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username = username , password = password)
if user:
if user.is_active:
login(request, user)
return HttpResponseRedirect(reverse('index'))
else:
return HttpResponse("ACCount not active!!")
else:
print("someone tried to login and falied!")
print("Username : {} and Password : {}".format(username,password))
return HttpResponse("Invalid credentials!")
else:
return render(request , 'NewApp/login.html' , {})