Django用户角色

时间:2017-05-11 13:28:41

标签: django

我正在建立一个网站,其中我有两种类型的用户。 对于每种类型的用户,我都有相应的django应用程序。

当我以A类用户或B类用户身份登录网站时,我希望重定向到相应的django应用程序,而不能访问其他应用程序。对于日志记录,每个用户都将拥有相应的表单。

此案例的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

尝试使用Django Groups Model,因此您将创建两个组:A型和B型;每个用户都将在其中一个组中。在索引视图中,检查用户所属的组,并根据需要重定向。

def index(request):
   if request.user.groups.filter(name='type A').exists():
     return redirect('/url_type_A/')
   elif request.user.groups.filter(name='type B').exists():
     return redirect('/url_type_B/')

现在,您可以为每个组创建权限,以访问某个视图或执行某些特定操作。我建议创建两个应用(python manage.py startapp typeApython manage.py startapp typeB),以便您可以重定向专用于用户类型的整个界面。