zoukankan      html  css  js  c++  java
  • (坑集)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',
    ]

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


  • 相关阅读:
    反射学习(三)--------利用反射调用方法
    list实体数据分组
    利用dockerfile制作基于centos7的lnmp镜像(亲测,详细版)
    基于数组的shell脚本编写
    Ansible中文权威指南
    几种方法来实现scp拷贝时无需输入密码
    Java 中&&和&的区别
    常用javaScript小常识
    mysql数据库函数
    Hidden的应用
  • 原文地址:https://www.cnblogs.com/GF66/p/9785477.html
Copyright © 2011-2022 走看看