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: admin@example.com
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://: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', 'test@example.com', 'pass123')

要賦予員工狀態,請將**is_staff** 屬性設定為 True。

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

重新整理管理站點中的使用者列表。您應該會看到新新增的使用者。

**組**對使用者進行分類,以便您可以將許可權或其他標籤應用於這些使用者。**一個使用者可以屬於任意數量的組**。

在 Django 中,**組**是分配給一個或多個使用者的許可權列表。建立或修改使用者時,只需選擇所需的組,這樣其中列出的所有許可權都將授予使用者。此外,您還可以始終向用戶新增除從使用者獲得的許可權之外的其他許可權。

轉到**管理站點**的**主頁**,然後單擊組模型行中的**新增**按鈕以新增名為 admins 的新組。從可用許可權列表中選擇要授予該組使用者的許可權。

Django Admin Create User 4

要將此組中包含的所有許可權啟用到使用者,請修改其屬性並向下滾動以檢視可用的組,進行選擇並儲存。

Django Admin Create User 5

Django 的管理站點可以非常有效地用於建立和管理使用者以及管理組和許可權。

廣告