Django User模型

User模型

User模型是這個框架的核心部分。他的完整的路徑是在django.contrib.auth.models.User。以下對這個User對象做一個簡單瞭解:

字段:

內置的User模型擁有以下的字段:

  1. username: 用戶名。150個字符以內。可以包含數字和英文字符,以及_@+.-字符。不能爲空,且必須唯一!

  2. first_name:歪果仁的first_name,在30個字符以內。可以爲空。

  3. last_name:歪果仁的last_name,在150個字符以內。可以爲空。

  4. email:郵箱。可以爲空。

  5. password:密碼。經過哈希過後的密碼。

  6. groups:分組。一個用戶可以屬於多個分組,一個分組可以擁有多個用戶。groups這個字段是跟Group的一個多對多的關係。

  7. user_permissions:權限。一個用戶可以擁有多個權限,一個權限可以被多個用戶所有用。和Permission屬於一種多對多的關係。

  8. is_staff:是否可以進入到admin的站點。代表是否是員工。

  9. is_active:是否是可用的。對於一些想要刪除賬號的數據,我們設置這個值爲False就可以了,而不是真正的從數據庫中刪除

  10. is_superuser:是否是超級管理員。如果是超級管理員,那麼擁有整個網站的所有權限。

  11. last_login:上次登錄的時間。

  12. date_joined:賬號創建的時間。

User模型的基本用法:

創建用戶:

通過create_user方法可以快速的創建用戶。這個方法必須要傳遞usernameemailpassword。示例代碼如下:

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即可實現。這個方法只能通過usernamepassword來進行驗證。示例代碼如下:

from django.contrib.auth import authenticate
user = (username='zhiliao', password='111111')
# 如果驗證通過了,那麼就會返回一個user對象
if user is not None:    
# 執行驗證通過後的代碼
else:    
# 執行驗證沒有通過的代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章