Django缓存使用方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值