auth認證模組

來源:互聯網
上載者:User

標籤:from   還需   session   style   地址   use   welcome   ora   code   

1. 建立超級使用者

命令列輸入:  python manage.py createsuperuser

from django.contrib import auth

2. auth.authenticate(username=username, password=pwd)
驗證使用者名稱和密碼
如果驗證成功,得到的是一個使用者物件
如果驗證失敗,得到的是匿名使用者

3. auth.login(request, user)
將驗證過的使用者 賦值給 request.user屬性

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

實現代碼如下:格外注意對象一致

 1 from django.contrib import auth 2 def login(request): 3     if request.method==‘POST‘: 4         user=request.POST.get(‘user‘) 5         pwd=request.POST.get(‘psd‘) 6         use=auth.authenticate(username=user,password=pwd) 7         auth.login(request,use) 8         if use: 9             return render(request,‘welecome.html‘,{‘user‘:use})10         else:11             return redirect(‘login.html‘)12     return render(request,‘login.html‘)

4. auth.logout(request)

request.session.flush()
將session資料都刪除,並且Cookie也失效

1 def logout(request):2     auth.logout(request)3     return redirect(‘/login/‘)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>檢查登入狀態:

添加一個裝飾器    @login_required()

from django.contrib.auth.decorators import login_required

1 @login_required()2 def welcome(request):3     print(request.user.username)4     print(request.user.is_authenticated())5     return render(request,‘welecome.html‘)

同時還需要指定如果未登入狀態,訪問的地址,在seeting檔案下面設定要訪問的url

1 #如果沒有登入,預設跳轉到這個url2 LOGIN_URL=‘/login/‘

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

建立一個普通使用者物件:

 1 def register(request): 2     from django.contrib.auth.models import User 3     #建立一個使用者物件 4     user_obj=User.objects.create_user(username=‘ccc‘,password=‘lisa123456‘) 5     #校正密碼是否正確 6     ret=user_obj.check_password(‘lisa123456‘) 7     print(ret) 8     #修改密碼 9     user_obj.set_password(‘nokia12138‘)10     user_obj.save()   #一定不能忘記提交儲存11     return HttpResponse(‘ok‘)

 

auth認證模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.