django中staff,admin,superuser有什么区别?

wko9yo5t  于 2023-04-13  发布在  Go
关注(0)|答案(4)|浏览(205)

Django有超级用户、员工、管理员。
superuser和staff在django.contib.auth.models.UserManager中。然后是django-admincreatesuperuser命令。
好吧,有管理应用程序...有什么区别?

m4pnthwp

m4pnthwp1#

我引用Django Documentation
Django最强大的部分之一是自动管理界面。最好的事情是你可以轻松地自定义它。
如果以超级用户身份登录,则可以创建、编辑和删除任何对象(模型)。
您可以使用staff标志创建staff用户。“staff”标志控制是否允许用户登录到管理员界面(即,是否将该用户视为组织中的“staff member”)。由于可以使用同一用户系统来控制对公共(即,非管理员)站点的访问,因此此标志区分了公共用户和管理员。
“普通”管理员用户-即活动的非超级用户员工-通过分配的权限授予管理员访问权限。通过管理员界面可编辑的每个对象都具有三种权限:创建权限、编辑权限和删除权限。
Django的管理站点使用了一个权限系统,你可以用它来给予特定的用户只访问他们需要的界面部分的权限。当你创建一个用户时,这个用户没有权限,你可以给这个用户特定的权限

xe55xuns

xe55xuns2#

Django只有一种用户类型。简单的User。根据你给予用户的权限,默认情况下他们可以做不同的事情:
1.任何普通用户都可以被认证(这就是用户的全部意义,拥有登录)。
1.任何分配了staff标志的用户都可以登录到贡献的管理员应用程序。除此之外,他们没有其他特权。
1.可以设置为活动或不活动。只有活动用户才允许登录。
超级用户只是一种创建拥有所有权限的用户的方便方法。默认情况下,超级用户只是普通用户,拥有员工和所有权限。
还有ADMINSMANAGERS设置。
当站点在生产环境中运行时(即,当DEBUG为False时),这些用于通知。
管理员会收到任何生成追溯的错误通知,他们会收到追溯和请求信息的电子邮件,管理员会在有人请求不存在的链接时收到电子邮件(基本上,当出现404时)。

cyvaqqii

cyvaqqii3#

超级用户自动拥有所有权限(has_perm将返回True)。
工作人员可以登录到管理页面。
管理页面是一个简单的界面,可以显示您配置好的模型,它只显示当前用户拥有正确权限的模型。
因此,如果某个人既是超级用户又是员工,他们可以登录到管理站点,并对管理站点中显示的所有模型具有完全访问权限。

olhwl3o2

olhwl3o24#

在Django中,超级用户是一种特殊类型的用户,拥有所有权限,可以在网站上执行任何操作。超级用户通常在Django项目安装过程中创建,可以使用Django管理界面或命令行工具进行管理。超级用户有能力管理网站的各个方面,包括创建和管理其他用户,修改网站设置,并执行管理任务。
另一方面,管理员成员是具有特定于特定应用或应用的一部分的管理权限的用户。在Django中,管理员成员通常是具有管理特定应用或应用内特定资源集的权限的用户。例如,博客应用的管理员成员可能具有创建,编辑和删除博客文章的权限,但不能访问站点设置或其他管理任务。
总的来说,Django中超级用户和管理员成员之间的主要区别是他们对网站的访问和控制级别

*超级用户拥有完全的控制权,可以在网站上执行任何操作
*管理员成员通常仅限于站点特定应用或部分内的一组特定权限和操作

相关问题