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 复制代码