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

Django認(rèn)證系統(tǒng)user對(duì)象實(shí)現(xiàn)過程解析

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

User對(duì)象

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

創(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ù)庫(kù)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)改變

認(rèn)證Users

authenticate(**credentials)[source]

認(rèn)證一個(gè)給定用戶名和密碼,請(qǐng)使用authenticate()。它以關(guān)鍵字參數(shù)形式接收憑證,對(duì)于默認(rèn)的配置它是username和password,如果密碼對(duì)于給定的用戶名有效它將返回一個(gè)User對(duì)象。如果密碼無效,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("驗(yàn)證成功,已激活")
    else:
      print("驗(yàn)證成功,未激活")
  else:
    # the authentication system was unable to verify the username and password
    print("沒有此用戶")
  return HttpResponse(user)

john

驗(yàn)證成功,已激活

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

相關(guān)文章

  • Django REST framework視圖的用法

    Django REST framework視圖的用法

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

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

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

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

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

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

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

    Python OpenCV處理圖像之濾鏡和圖像運(yùn)算

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

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

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

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

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

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

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

    jupyter安裝小結(jié)

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

    python分割一個(gè)文本為多個(gè)文本的方法

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

最新評(píng)論