欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django認證系統(tǒng)user對象實現(xiàn)過程解析

 更新時間:2020年03月02日 11:42:12   作者:pfeiliu  
這篇文章主要介紹了Django認證系統(tǒng)user對象實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

User對象

User對象是認證系統(tǒng)的核心。它們通常表示與你的站點進行交互的用戶,并用于啟用限制訪問、注冊用戶信息和關(guān)聯(lián)內(nèi)容給創(chuàng)建者等。在Django的認證框架中只存在一種類型的用戶,因此諸如'superusers'或管理員'staff'用戶只是具有特殊屬性集的user對象,而不是不同類型的user對象。

創(chuàng)建users

創(chuàng)建users最直接的方法是使用create_user()輔助函數(shù):

>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
from django.contrib.auth.models import User
def create_user(request):
  #auth_user
  # user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
  #superuser python manage.py createsuperuser --username=joe --email=joe@example.com
  u = User.objects.get(username='john')
  u.set_password('new password')
  u.save()
  return HttpResponse("success-----%s"%u)

創(chuàng)建成功后見數(shù)據(jù)庫auth_user表

創(chuàng)建superusers

使用createsuperuser命令創(chuàng)建superusers:

$ python manage.py createsuperuser --username=joe --email=joe@example.com

或者

$ python manage.py createsuperuser

接下來依次輸入用戶密碼即可
成功后見auth_user表

修改密碼

>>> from django.contrib.auth.models import User
>>> u = User.objects.get(username='john')
>>> u.set_password('new password')
>>> u.save()

成功后見auth_user表,密碼已經(jīng)改變

認證Users

authenticate(**credentials)[source]

認證一個給定用戶名和密碼,請使用authenticate()。它以關(guān)鍵字參數(shù)形式接收憑證,對于默認的配置它是username和password,如果密碼對于給定的用戶名有效它將返回一個User對象。如果密碼無效,authenticate()返回None。例子:

from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
  # the password verified for the user
  if user.is_active:
    print()
  else:
    print()
else:
  # the authentication system was unable to verify the username and password
  print()
def auth(request):
  user = authenticate(username='john', password='new password')#john
  # user = authenticate(username='john', password='johnpassword')#None
  print(user)
  if user is not None:
    # the password verified for the user
    if user.is_active:
      print("驗證成功,已激活")
    else:
      print("驗證成功,未激活")
  else:
    # the authentication system was unable to verify the username and password
    print("沒有此用戶")
  return HttpResponse(user)

john

驗證成功,已激活

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django REST framework視圖的用法

    Django REST framework視圖的用法

    這篇文章主要介紹了Django REST framework 視圖,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    這篇文章主要介紹了anaconda中安裝的python環(huán)境中沒有pip3的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python selenium實現(xiàn)發(fā)送帶附件的郵件代碼實例

    python selenium實現(xiàn)發(fā)送帶附件的郵件代碼實例

    這篇文章主要介紹了python selenium實現(xiàn)發(fā)送帶附件的郵件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 自然語言處理NLP TextRNN實現(xiàn)情感分類

    自然語言處理NLP TextRNN實現(xiàn)情感分類

    這篇文章主要為大家介紹了自然語言處理NLP TextRNN實現(xiàn)情感分類示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python OpenCV處理圖像之濾鏡和圖像運算

    Python OpenCV處理圖像之濾鏡和圖像運算

    這篇文章主要為大家詳細介紹了Python OpenCV處理圖像之濾鏡和圖像運算,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法

    python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法

    在Python中,我們經(jīng)常需要處理日期和時間,本文主要介紹了python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法,包含datetime模塊,strftime方法及pandas庫,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的實現(xiàn)過程

    Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的實現(xiàn)過程

    Flask創(chuàng)建并運行數(shù)據(jù)庫遷移的過程是一個涉及多個步驟的操作,旨在幫助開發(fā)者在開發(fā)過程中管理數(shù)據(jù)庫模式的變化,而不需要手動地刪除和重建數(shù)據(jù)庫表,從而避免數(shù)據(jù)丟失,以下是一個詳細的步驟說明,需要的朋友可以參考下
    2024-09-09
  • python設(shè)計模式之裝飾器模式

    python設(shè)計模式之裝飾器模式

    這篇文章主要介紹了python設(shè)計模式之裝飾器模式,文章基于python得設(shè)計模式資料展開飾器模式得詳細資料,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • jupyter安裝小結(jié)

    jupyter安裝小結(jié)

    jupyter (之前的 ipython notebook )于我的最大意義在于,讓學(xué)習(xí)進程和探索進程變得可累積,正如它的原先名字中的 notebook 所暗示的那樣,作為學(xué)習(xí)的記錄者,方便你隨時撿起學(xué)習(xí)的進度,增量式地前進
    2016-03-03
  • python分割一個文本為多個文本的方法

    python分割一個文本為多個文本的方法

    這篇文章主要為大家詳細介紹了python分割一個文本為多個文本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論