0
后,我有3种类型的用户在我的models.py考虑使用自定义权限登录的Django
class Customer(models.model)
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name=‘Customer’)
class ClientTypeA(models.model)
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name=‘ClientA’)
class ClientTypeB(models.model)
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name=‘ClientB’)
我使用权限在我的基础模板来呈现相关侧边栏,但现在我还结合每个用户的特定仪表板以及侧边栏,所以我发现为每个用户类型创建主页视图会更简单。
一旦我登录用户在其其重定向到我家视图 - 所以我在views.py想出了这个
def home(request):
if request.user.is_customer:
return redirect(customer_home)
elif request.user.is_clientA:
return redirect(clientA_home)
elif request.user.is_clientB:
return redirect(clientB_home)
else:
return render(request, 'home.html')
调用的重定向将简单地把他们带到有相应的主页。
我知道我的is_customer,is_clientA,is_clientB不会自动来使用Django,如何和我在哪里添加这些自定义的权限?我的models.py?为了简单检查,我将它们设置为什么等于活动的用户类型?我甚至需要自定义权限还是有更简单的方法来调用用户类型?
我用于很多if语句吗? (我试图保持它的简单和快速)