日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django从理论到实战(part51)--User模型

發布時間:2023/12/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django从理论到实战(part51)--User模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記,僅供參考,有錯必糾

摘自:pink老師教案


文章目錄

    • User模型
      • 字段
      • User模型的基本用法
        • 創建用戶
        • 創建超級用戶
        • 修改密碼
        • 登錄驗證



User模型


User模型是Django框架的核心部分。他的完整的路徑在django.contrib.auth.models.User中。


字段


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

字段解釋
username用戶名,150個字符以內。可以包含數字和英文字符,以及_、@、+、.和-字符,不能為空,且必須唯一;
first_name在30個字符以內,可以為空;
last_name在150個字符以內,可以為空;
email郵箱,可以為空;
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模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。