關於Django auth註冊登陸模塊的具體使用

 1 from django.urls import path  2 from . import views  3   
 4 urlpatterns = [  5   #主頁,用來顯示類別等其餘數據
 6   path('',views.index),  7   # 登陸
 8   path('tologin/',views.tologin),  9   # 註冊
10   path('register/',views.register), 11   # 註銷
12   path('lagout/',views.lagout), 13 ]
urls.py
 1 from django.shortcuts import render, redirect  2 from django.http import HttpResponseRedirect  3 from django.contrib.auth.models import User  4 from django.contrib.auth import authenticate,login,logout  5 from django.contrib.auth.models import AnonymousUser  6   
 7 # Create your views here.
 8 # 主頁
 9 def index(request,): 10   username = request.user 11   return render(request,'Myapp/index.html',locals()) 12   
13 # 登陸
14 def tologin(request): 15   if request.method == 'POST' and request.POST: 16     data = request.POST 17     username = data.get('username') 18     password = data.get('password') 19     n = authenticate(username=username,password=password) 20     if n: 21       # 登錄成功便可獲取當前登陸用戶,返回主頁
22       login(request,user=n) 23       return redirect('/') 24   # 失敗重定向到登陸頁
25   return render(request, 'myApp/login.html') 26   
27 # 註冊
28 def register(request): 29   if request.method == 'POST' and request.POST: 30     data = request.POST 31     username = data.get("username") 32     password = data.get("password") 33     # 校驗註冊,名字不可重複
34     u = User.objects.filter(username=username).first() 35     if u: 36       info = '該用戶名已被註冊'
37       return render(request,'Myapp/ERROR.html',{'info':info}) 38     else: 39       # 註冊成功,建立用戶
40  User.objects.create_user( 41         username=username, 42         password=password 43  ) 44       # 重定向到登陸頁面
45       return HttpResponseRedirect('/tologin/') 46   # 註冊失敗,從新註冊
47   return render(request,'Myapp/register.html') 48   
49 def lagout(request): 50  logout(request) 51   return redirect('/')
views.py
相關文章
相關標籤/搜索