User模型
User
模型是這個框架的核心部分。他的完整的路徑是在django.contrib.auth.models.User
。以下對這個User
對象做一個簡單瞭解:
字段:
內置的User
模型擁有以下的字段:
username
: 用戶名。150個字符以內。可以包含數字和英文字符,以及_
、@
、+
、.
和-
字符。不能爲空,且必須唯一!first_name
:歪果仁的first_name
,在30個字符以內。可以爲空。last_name
:歪果仁的last_name
,在150個字符以內。可以爲空。email
:郵箱。可以爲空。password
:密碼。經過哈希過後的密碼。groups
:分組。一個用戶可以屬於多個分組,一個分組可以擁有多個用戶。groups
這個字段是跟Group
的一個多對多的關係。user_permissions
:權限。一個用戶可以擁有多個權限,一個權限可以被多個用戶所有用。和Permission
屬於一種多對多的關係。is_staff
:是否可以進入到admin
的站點。代表是否是員工。is_active
:是否是可用的。對於一些想要刪除賬號的數據,我們設置這個值爲False
就可以了,而不是真正的從數據庫中刪除。is_superuser
:是否是超級管理員。如果是超級管理員,那麼擁有整個網站的所有權限。last_login
:上次登錄的時間。date_joined
:賬號創建的時間。
User模型的基本用法:
創建用戶:
通過create_user
方法可以快速的創建用戶。這個方法必須要傳遞username
、email
、password
。示例代碼如下:
from django.contrib.auth.models import User user = User.objects.('zhiliao','[email protected]','111111') # 此時user對象了 # 當然你還可以繼續使用user對象進行一些修改 user.last_name = 'abc' user.save()
創建超級用戶:
創建超級用戶有兩種方式。第一種是使用代碼的方式。用代碼創建超級用戶跟創建普通用戶非常的類似,只不過是使用create_superuser
。示例代碼如下:
from django.contrib.auth.models import User User.objects.('admin','[email protected]','111111')
也可以通過命令行的方式。命令如下:
python manage.py createsuperuser
後面就會提示你輸入用戶名、郵箱以及密碼。
修改密碼:
因爲密碼是需要經過加密後才能存儲進去的。所以如果想要修改密碼,不能直接修改password
字段,而需要通過調用set_password
來達到修改密碼的目的。示例代碼如下:
from django.contrib.auth.models import User user = User.objects.get(pk=1) user.('新的密碼') user.save()
登錄驗證:
Django
的驗證系統已經幫我們實現了登錄驗證的功能。通過django.contrib.auth.authenticate
即可實現。這個方法只能通過username
和password
來進行驗證。示例代碼如下:
from django.contrib.auth import authenticate user = (username='zhiliao', password='111111') # 如果驗證通過了,那麼就會返回一個user對象 if user is not None: # 執行驗證通過後的代碼 else: # 執行驗證沒有通過的代碼