博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django缓存使用方法
阅读量:4321 次
发布时间:2019-06-06

本文共 1817 字,大约阅读时间需要 6 分钟。

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

 

转载于:https://www.cnblogs.com/MacoLee/p/5841693.html

你可能感兴趣的文章
3选择结构程序设计
查看>>
Python学习 12day__高级语法
查看>>
关于做产品的一点思考
查看>>
超大地形的处理 (Terrain Visualization)【转自知乎】
查看>>
html知识2
查看>>
Python—面向对象01
查看>>
Android DDMS ADB Hierarchy Viewer Lint
查看>>
Linux命令学习(5):more和less
查看>>
Linux 三剑客之sed命令总结
查看>>
倒计时
查看>>
36.Altium Designer(Protel)网络连接方式Port和Net Label详解
查看>>
读《分布式一致性原理》CURATOR客户端3
查看>>
iOS 虚拟机测试出现的相关问题
查看>>
MySQL crash-safe replication(3): MySQL的Crash Safe和Binlog的关系
查看>>
mac 无法打开xx ,因为无法确认开发者身份
查看>>
简单的排序算法(冒泡、选择、插入)
查看>>
[剑指Offer] 11.二进制中1的个数
查看>>
重置报表输出选择
查看>>
ip代理池抓取qq音乐热歌前300
查看>>
Android面试题集合
查看>>