1 #-*- coding utf-8 -*- 2 from django.shortcuts import render,render_to_response 3 from django.http import HttpResponse,HttpResponseRedirect 4 from django.template import RequestContext 5 from django import forms 6 from models import User 7 8 #表单 9 class UserForm(forms.Form): 10 username = forms.CharField(label='用户名',max_length=100) 11 password = forms.CharField(label='密码',widget=forms.PasswordInput()) 12 13 14 #注册 15 def regist(req): 16 if req.method == 'POST': 17 uf = UserForm(req.POST) 18 if uf.is_valid(): 19 #获得表单数据 20 username = uf.cleaned_data['username'] 21 password = uf.cleaned_data['password'] 22 #添加到数据库 23 User.objects.create(username= username,password=password) 24 return HttpResponse('regist success!!') 25 else: 26 uf = UserForm() 27 return render_to_response('regist.html',{'uf':uf}, context_instance=RequestContext(req)) 28 29 #登陆 30 def login(req): 31 if req.method == 'POST': 32 uf = UserForm(req.POST) 33 if uf.is_valid(): 34 #获取表单用户密码 35 username = uf.cleaned_data['username'] 36 password = uf.cleaned_data['password'] 37 #获取的表单数据与数据库进行比较 38 user = User.objects.filter(username__exact = username,password__exact = password) 39 if user: 40 #比较成功,跳转index 41 response = HttpResponseRedirect('/online/index/') 42 #将username写入浏览器cookie,失效时间为3600 43 response.set_cookie('username',username,3600) 44 return response 45 else: 46 #比较失败,还在login 47 return HttpResponseRedirect('/online/login/') 48 else: 49 uf = UserForm() 50 return render_to_response('login.html',{'uf':uf},context_instance=RequestContext(req)) 51 52 #登陆成功 53 def index(req): 54 username = req.COOKIES.get('username','') 55 return render_to_response('index.html' ,{'username':username}) 56 57 #退出 58 def logout(req): 59 response = HttpResponse('logout !!') 60 #清理cookie里保存username 61 response.delete_cookie('username') 62 return response 63 复制代码