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('/')