Django缓存使用方法
2016-09-05 11:32
453 查看
Django缓存分为Session和Cookie:Session为放在服务器端的缓存;Cookie为放在客户端(浏览器)的缓存。
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
相关文章推荐
- 缓存使用方法
- 使用Dojo实现页面不刷新提交数据时避免前台缓存的方法
- django模板中使用静态文件的方法
- 防止jQuery Load使用缓存的方法
- 微软分布式缓存 AppFabric(Velocity)-开发篇(二)缓存的基础方法使用
- 使用缓存时候,发现Page_load只能运行一次的解决方法。
- 防止 jquery load使用缓存的方法
- iBATIS缓存的使用方法--摘自iBATIS官方文档
- 两个变量交换值,不使用缓存的方法
- hibernate 二级缓存的使用方法
- "浏览器的缓存已满,可能会影响您对Gmail的使用。" 解决方法
- ASP.NET缓存使用方法
- 防止jQuery Load使用缓存的方法
- 在Django中使用缓存提供Session支持
- 使用Memcached作为Hibernate二级分布式缓存的配置方法
- 解决“浏览器的缓存已满,可能会影响您对Gmail的使用”的方法
- iBatis缓存的使用方法及解释
- window.showModalDialog使用手册及其清除缓存的方法
- thinkphp的静态缓存使用方法
- Substitution 使用方法 页面缓存时的局部刷新