Django从理论到实战(part51)--User模型
生活随笔
收集整理的這篇文章主要介紹了
Django从理论到实战(part51)--User模型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考,有錯必糾
摘自:pink老師教案
文章目錄
- User模型
- 字段
- User模型的基本用法
- 創建用戶
- 創建超級用戶
- 修改密碼
- 登錄驗證
User模型
User模型是Django框架的核心部分。他的完整的路徑在django.contrib.auth.models.User中。
字段
內置的User模型擁有以下的字段:
| username | 用戶名,150個字符以內。可以包含數字和英文字符,以及_、@、+、.和-字符,不能為空,且必須唯一; |
| first_name | 在30個字符以內,可以為空; |
| last_name | 在150個字符以內,可以為空; |
| 郵箱,可以為空; | |
| password | 密碼,經過哈希運算后的密碼; |
| groups | 分組,一個用戶可以屬于多個分組,一個分組可以擁有多個用戶。 |
| 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.create_user('goatbishop', 'goatbishop@gmail.com', '123456') # 此時user對象已經存儲到數據庫中了。當然我們還可以繼續使用user對象進行一些修改 user.last_name = 'abc' user.save()創建超級用戶
創建超級用戶有兩種方式。第一種是使用代碼的方式。用代碼創建超級用戶跟創建普通用戶非常的類似,只不過是使用create_superuser。示例代碼如下:
from django.contrib.auth.models import User User.objects.create_superuser('admin','admin@163.com','123456')也可以通過命令行的方式創建超級用戶。命令如下:
python manage.py createsuperuser后面就會提示你輸入用戶名、郵箱以及密碼。
修改密碼
因為密碼是需要經過加密后才能存儲進去的。所以如果想要修改密碼,不能直接修改password字段,而需要通過調用set_password來達到修改密碼的目的。示例代碼如下:
from django.contrib.auth.models import User user = User.objects.get(pk=1) user.set_password('新密碼') user.save()登錄驗證
Django的驗證系統已經幫我們實現了登錄驗證的功能。通過django.contrib.auth.authenticate即可實現。這個方法只能通過username和password來進行驗證。示例代碼如下:
from django.contrib.auth import authenticate user = authenticate(username='goatbishop', password='123456') # 如果驗證通過了,那么就會返回一個user對象。 if user is not None:# 執行驗證通過后的代碼 else:# 執行驗證沒有通過的代碼。總結
以上是生活随笔為你收集整理的Django从理论到实战(part51)--User模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水星 MAC2600R 无线路由器内网主
- 下一篇: Django从理论到实战(part52)