1.由於django auth自帶user模型字段有限,我們需要擴充套件自定義模型userprofile
django auth自帶user模型包含字段
username:使用者名稱
email: 電子郵件
password:密碼
first_name:名
last_name:姓
is_active: 是否為活躍使用者。預設是true
is_staff: 是否為員工。預設是false
is_superuser: 是否為管理員。預設是false
date_joined: 加入日期。系統自動生成。
2.擴充套件user模型
# 匯入擴充套件模型類
from django.contrib.auth.models import abstractuser
# 繼承類
class userprofile(abstractuser):
"""使用者模型
添家字段
"""***_choices = (
(0, '男'),
(1, '女')
)phone = models.charfield(max_length=11, verbose_name="手機號")
age = models.charfield(max_length=11, verbose_name="年齡")
*** = models.smallintegerfield(choices=***_choices, verbose_name="性別")
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users',
] 4.資料庫遷移
python manage.py makemigrations
python manage.py migrate
5.在settings中新增
auth_user_model = 'users.userprofile'
6登入認證
class loginview(view):
def post(self,request):
# 獲取使用者提交的使用者名稱和密碼
user_name = request.post.get('username', none)
pass_word = request.post.get('password', none)
# 成功返回user物件,失敗none
user = authenticate(username=user_name, password=pass_word)
# 如果不是null說明驗證成功
if user is not none:
# 登入
login(request, user)
return jsonresponse()
else:
return jsonresponse()
Python selenium的js擴充套件實現
python寫的資料採集,對一般有規律的頁面用 urllib2 beautifulsoup 正則就可以搞定。但是有些頁面的內容是通過js生成,或者通過js跳轉的,甚至js中還加入幾道混淆機制 對這種涉及頁面指令碼解析的內容,前面的方式便很無力。這時我們需要能解析 執行js的引擎 瀏覽器,而pytho...
162 擴充套件User模型 使用Proxy模型
django內建的user模型雖然已經足夠強大了,但是有時候還是不能滿足我們的需求,比如在驗證使用者登入的時候,它用的是使用者名稱作為驗證,而我們有時候需要通過手機號碼或者是郵箱進行驗證,還有比如我們想要增加一些字段,那麼這時候我們就需要擴充套件使用者模型了,擴充套件使用者模型有多種方式。1.設定p...
樹模型與線性模型的融合模型 Python實現
目錄 一 樹模型與線性模型的融合模型 二 python sklearn實現gbdt lr融合模型 樹模型gbdt原理 線性模型lr原理 海量的離散特徵 線性模型lr,因其較高的精度和較少的運算開銷在業界廣為使用。線性模型lr無法捕捉到非線性特徵對標籤的影響,因而提公升線性模型精度的有效方法是構造有效...