我是 Django 的新手,所以如果我的问题看起来太基本,请多多包涵。 所以,我想为一种商店创建一个网络应用程序,其中我有三种不同类型的用户。
最好的方法是什么?使用身份验证组、配置文件模型或其他任何东西? 任何帮助都会很棒。如果问题中的某些内容不是很清楚,我可以提供更多详细信息。谢谢。
答案 0 :(得分:0)
Django 已经有一个解决方案:a Group
[Django-doc]。一个用户可以属于零个、一个或多个组。一个组可以有零个、一个或多个Permission
s [Django-doc]。
这些权限可以由一个Django模型定义,例如对于所有模型都有权限,view,add,change,和删除某个模型的对象,但您也可以定义自定义权限,例如访问某个页面。如果用户所属的组中至少有一个具有此类权限的组,则该用户具有此类权限。
例如,您可以使用 @permission_required
decorator [Django-doc] 或 PermissionRequiredMixin
[Django-doc] 来强制只有具有所需权限的用户才能看到给定的页面。
因此您可以为卖家、客户等创建群组。通常人们可以有多个角色,例如既是卖家又是客户,因此通过权限框架优雅地解决了这一问题。