(坑集)Django环境配置

前提

学习django总是遇到很多配置上的坑,记录下来,以后遇到了方便爬坑使用


一、django-redis进行缓存时配置问题

django-redis相关的使用说明可以去查看官方文档,是全中文的,特别友好。

配置好django-redis之后,如何在网站访问时使用缓存呢?

这里我使用drf环境,所以安装了github上第三方库drf-extensions,装好后,使用也及其简单。

from rest_framework_extensions.cache.mixins import CacheResponseMixin

引入之后,在你需要使用缓存的view里面,把CacheResponseMixin以第一个参数传入ViewSet即可。

不过在根据文档配置过之后,再进行全站的缓存测试,查询redis中的keys时,发现并没有出现新的值,这里问题就出现了。

解决方式:

因为你配置好了,但是没有使用全站缓存,django的中间件中有两个配合使用可以实现全站缓存。
django.middleware.cache.UpdateCacheMiddleware:判断缓存中是否存在,如果不存在,UpdateCacheMiddleware会保存缓存。
django.middleware.cache.FetchFromCacheMiddleware:如果访问内容在缓存中,则FetchFromCacheMiddleware回返回缓存给用户。

MIDDLEWARE_CLASSES = [
    'django.middleware.cache.UpdateCacheMiddleware',
    其他中间件...
    'django.middleware.cache.FetchFromCacheMiddleware',
]

只要像上面这样配置即可实现全站缓存。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值