Django Admin - 创建用户



Django 框架提供了一个强大的用户管理系统。用户、组和权限可以通过**管理界面**和编程方式进行管理。

当使用**startproject 命令**创建一个新项目时,**admin** 和 **auth** 应用默认添加到 INSTALLED_APPS 中。所有用户对象都存储在 "django.contrib.auth.models.User" 模型中。

假设项目已使用以下命令创建:

django-admin startproject myproject

**admin** 和 **auth** 应用位于 **settings** 模块中 INSTALLED_APPS 列表中:

INSTALLED_APPS = [
   'django.contrib.admin',
   'django.contrib.auth',
   . . .,
]

您至少需要一个用户才能使用管理面板。用户对象有以下几种类型:

  • **超级用户** - 一个可以登录管理站点并拥有权限添加/更改/删除其他用户以及通过管理界面本身对项目中的所有模型执行 CRUD 操作的用户对象。

  • **员工** - 用户对象具有**is_staff** 属性。当此属性设置为 True 时,用户可以登录 Django 管理站点。超级用户默认是**员工用户**。

  • **活跃** - 默认情况下,所有用户都被标记为“活跃”。普通活跃用户(没有员工权限)无权使用管理站点。

创建超级用户

可以通过两种方式创建超级用户。

  • 使用 manage.py 脚本的 createsuperuser 参数从命令行。

  • 以编程方式调用 create_superuser() 函数。

命令行使用很简单。从项目的父文件夹内部执行以下命令:

python manage.py createsuperuser

出现提示时输入**用户名**和**密码**:

Username: admin
Email address: [email protected]
Password: ********
Password (again): ********
The password is too similar to the username.
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

启动 Django 服务器,使用超级用户凭据登录,打开管理站点的登录页面 **https://127.0.0.1:8000/admin/**。

管理主页显示组和用户这两个模型。

Django Admin Create User 1

创建新用户

要创建新用户,请点击“+”添加按钮。输入用户名(manager)和符合规则的密码。

Django Admin Create User 2

成功添加新用户后,向下滚动以启用员工状态(如果要授予登录权限)。默认情况下,每个用户都是活跃的。您还可以输入其他详细信息,例如**姓名**和**电子邮件地址**等。

展开用户模型以查看所有用户。

Django Admin Create User 3

要以编程方式创建用户,请使用 Django shell。

调用**create_user()** 函数,如下所示:

>>> from django.contrib.auth.models import User
>>> usr=User.objects.create_user('testusr', '[email protected]', 'pass123')

要赋予员工状态,请将**is_staff** 属性设置为 True。

>>> usr.is_staff=True
>>> usr.save()

刷新管理站点中的用户列表。您应该会看到新添加的用户。

**组**对用户进行分类,以便您可以将权限或其他标签应用于这些用户。**一个用户可以属于任意数量的组**。

在 Django 中,**组**是分配给一个或多个用户的权限列表。创建或修改用户时,只需选择所需的组,这样其中列出的所有权限都将授予用户。此外,您还可以始终向用户添加除从用户获得的权限之外的其他权限。

转到**管理站点**的**主页**,然后单击组模型行中的**添加**按钮以添加名为 admins 的新组。从可用权限列表中选择要授予该组用户的权限。

Django Admin Create User 4

要将此组中包含的所有权限启用到用户,请修改其属性并向下滚动以查看可用的组,进行选择并保存。

Django Admin Create User 5

Django 的管理站点可以非常有效地用于创建和管理用户以及管理组和权限。

广告