您的位置:首页 > 编程语言 > Go语言

Django缓存使用方法

2016-09-05 11:32 453 查看
Django缓存分为Session和Cookie:Session为放在服务器端的缓存;Cookie为放在客户端(浏览器)的缓存。

Session一般用来保存登录会话;Cookie一般用来保存一些个性化的设置。

Session示例:

#!/usr/bin/env python
#-*- encoding:utf-8 -*-

from django.shortcuts import render,redirect

# Create your views here.

def login(request):

if request.method == 'POST':
user = request.POST.get('username',None)
pwd = request.POST.get('password',None)

if user == 'alex' and pwd == '123':   #登录成功
request.session['is_login'] = {'user':user}    #设置session,表示用户登录成功
return redirect('/login/index/')
else:  #登录失败
return render(request,'login/login.html',{'msg':'用户名或密码错误'})

return render(request,'login/login.html')

def index(request):

user_dict = request.session.get('is_login',None)   #获取session,用于判断用户是否登录成功
if  user_dict:
return render(request, 'login/index.html',{'username':user_dict['user']})
else:
return redirect('/login/login')

def logout(request):
del request.session['is_login']   #删除session

return redirect('/login/login')


Cookie示例:

def Page(request,page):
#第二种分页方式
counts = Host.objects.all().count()  # 获取数据总条数

#print request.POST

per_item = request.COOKIES.get('pager_num',5)  #从cookie中获取key为pager_num的值,获取不到则设置默认值为5
per_item = int(per_item)
#print 'per_item:',per_item

pages = PageInfo(page,counts,'/web/page/',per_item)
result = Host.objects.all()[pages.start_page:pages.end_page]  # 获取第page页内容
page_string = pages.page_string
#print 'page_string:',page_string

ctx = {
'data':result,
'count':counts,
'page_string':page_string,
}

response = render(request,'page.html',ctx)
#response.set_cookie(key='k1',value='v1')  #设置cookie
#request.COOKIES    #获取cookie
return response
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: