1.设置cookie信息(登陆成功后设置登陆用户名,有效期1小时)
def login(req): if req.method == 'POST': loginform = LoginForm(req.POST) if loginform.is_valid(): print loginform.cleaned_data username = loginform.cleaned_data["username"] password = loginform.cleaned_data["userpwd"] users=RegisterUser.objects.filter(username =username , password =password) print users if users: response= HttpResponseRedirect('/app1/index1/') response.set_cookie('username',username,3600) return response else: return HttpResponseRedirect('/app1/login/') else: loginform = LoginForm() return render_to_response('login.html',{'loginform':loginform})
templates中对应的模板页面
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> {% if islogin %} <li>登录用户:{{loginusername}} <a href="/app1/loginout/">Logout</a></li> {%else %} <li><a href="/app1/login/">Login</a></li> {%endif%} <div> {% for book in books %} <h1>书籍:{{book}}<br></h1> {% for au in book.author.all %} 作者: {{au}} <br/> {%endfor%} {% endfor%} </div> </body> </html>
2.检查获取当前cookie信息(判断是否登陆)
def index1(req): loginusername = req.COOKIES.get('username','') print loginusername islogin=False if loginusername: islogin=True else: islogin=False aus = Author.objects.all() books = Book.objects.all() t= loader.get_template('index1.html') c=Context({'aus':aus,'books':books,'islogin':islogin,'loginusername':loginusername}) return HttpResponse(t.render(c))
3.删除cookie信息
def loginout(req): response =HttpResponseRedirect('/app1/index1/') response.delete_cookie('username') return response