Django 中的 staff、 admin 和 superuser 之间有什么区别?

姜戈有超级用户,员工,管理员..。

超级用户和工作人员在 django.contib.auth.models.UserManager中。然后是 django-admincreatesuperuser命令。

有管理应用程序... 有什么区别?

45981 次浏览

超级用户自动拥有所有权限(has_perm将返回 True)。

工作人员可以登录到管理页面。

管理页面是一个简单的模型界面,您已经配置了它来显示模型。它只显示当前用户具有正确权限的模型。

因此,如果有人既是超级用户又是工作人员,他们可以登录到管理站点,并可以完全访问显示在管理站点中的所有模型。

Django 只有一种用户类型。简单来说就是 User。根据你给用户的 权限,默认情况下他们可以做不同的事情:

  1. 任何普通用户都可以进行身份验证(这就是用户的全部目的,即拥有一个登录名)。
  2. 任何分配 staff标志的用户,都可以登录到贡献的管理应用程序。除此之外,他们没有其他特权。
  3. 它们可以设置为活动或非活动。只有活动用户才允许登录。

超级用户只是创建具有所有权限的用户的一种方便的方法。默认情况下,它们只是普通用户,被授予了员工和所有权限。

还有 ADMINSMANAGERS设置。

当站点在生产环境中运行时(例如,当 DEBUG为 False 时) ,它们用于通知。

任何生成回溯的错误都会通知管理员。他们通过电子邮件获得追踪和有关请求的信息。当有人请求一个不存在的链接时(基本上,当出现404链接时) ,经理会收到电子邮件。

我从 姜戈文档节目中了解到:

Django 最强大的部分之一是自动管理 最好的事情是你可以很容易地定制它。

如果以超级用户身份登录,则可以创建、编辑和 删除任何对象(模型)。

您可以使用 staff 标志创建 staff 用户 是否允许用户登录到管理界面(即, 该用户是否在您的 组织)。因为这个相同的用户系统可以用来控制 访问公共(即,非管理)网站,这个标志区分 在公共用户和管理员之间。

“普通”管理员用户-即活跃的非超级用户员工- 通过分配的权限授予管理员访问权限 可通过管理界面进行编辑有三个权限: 属性的编辑权限和删除权限 你创造的模型。

Django 的管理站点使用一个权限系统,您可以使用它来授予 特定用户只能访问他们 当您创建一个用户时,该用户没有权限 由你来给予用户特定的权限