settings

# 缓存
CACHES = {"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://127.0.0.1/5","OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient",}}
}
#默认
# SESSION_CACHE_ALIAS = "default"

首页设置缓存 及缓存过期时间     redis数据库读写速度快

#首页 设置缓存
class Index(View):def get(self,request):#先获取缓存cache_data = cache.get('index_page_data')#如果 没有缓存if cache_data is None:#获取商品种类(所有对象)categorys = GoodsCategory.objects.all()#轮播信息 横幅banners = IndexGoodsBanner.objects.all()#活动 促销 信息promotions = IndexPromotionBanner.objects.all()# 商品列表 关联for category in categorys:titles = IndexCategoryGoodsBanner.objects.filter(category=category,display_type=0)category.display_titles = titles   #GoodsCategory类 category对象动态添加属性dispiay_images = IndexCategoryGoodsBanner.objects.filter(category=category,display_type=1)category.display_images = dispiay_images  #便于在 模板中调用#上下文context = {'categorys':categorys,'banners':banners,'promotions':promotions}# 设置缓存key、内容、有效时间cache.set('index_page_data',context,3600)     #有效时间3600秒#再次获取缓存cache_data = cache.get('index_page_data')return render(request,'index.html',cache_data)

admin 站点管理           修改数据后             删除缓存

class BaseAdmin(admin.ModelAdmin):"""商品活动信息的管理类,运营人员在后台发布内容时,异步生成静态页面"""'''    数据发生变化  保存---然后---异步生成静态文件    '''def save_model(self, request, obj, form, change):"""后台保存对象数据时使用"""# obj表示要保存的对象,调用save(),将对象保存到数据库中obj.save()# 修改了数据库数据就需要删除缓存cache.delete('index_page_data')def delete_model(self, request, obj):"""后台保存对象数据时使用"""obj.delete()cache.delete('index_page_data')

# 继承 BaseAdmin 类,使以下 都具有保存和删除后 生成新的页面
class GoodsCategoryAdmin(BaseAdmin):"""商品活动站点管理,如果有自己的新的逻辑也是写在这里"""# list_display = []pass
class IndexGoodsBannerAdmin(BaseAdmin):pass

本文首发于python黑洞网,csdn同步更新

python3 之 天天生鲜 项目 缓存cache相关推荐

  1. 天天生鲜项目开发笔记

    天天生鲜项目开发笔记 说在前面的话 大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是"生鲜配送系统",B站上找到了一个天天生鲜的项目开发教程,之后文章记录 ...

  2. 【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)

    本部分涉及订单的生成.并发处理.支付.评论等 关键:MySQL事务.并发处理的悲观锁/乐观锁.支付宝SDK 的使用...... 仅作为个人笔记! 目录 2.创建订单 3.订单生成 3.1. MySQL ...

  3. 天天生鲜项目从0开始

    天天生鲜 一.环境准备 因为此文章是实践项目文章,所以对于基础的python安装就不多做赘述,这里只交代系统环境是ubuntu操作系统,python3.5 安装虚拟环境软件 安装虚拟环境: sudo ...

  4. GO语言开发天天生鲜项目第三天 用户模块开发

    项目分析 一.项目架构 二.数据库表设计 用户模块 ##一.用户注册 用户通过我们的网站购买商品前,必须要登录.如果,该用户在我们的网站上没有账号,那么必须进行注册.下面我们看一下注册的具体实现过程( ...

  5. Django通过celery 异步发送邮件 : django开发之天天生鲜项目知识总结【5】

    这里初次学习celery,只简单讲解一下如何使用celery 异步发送邮件,在以后的总结中还会,多次提到celery,因为后面很多任务都需要用到celery执行任务,后面再专门针对celery做具体的 ...

  6. 天天生鲜项目 python邮箱_python3 之 天天生鲜 项目(初学者)1

    简单第一步 假设: 你已学过 python基础.高级:了解并简单使用linux操作系统:mysql数据库.redis数据库的简单使用:掌握Django框架的使用 这是一个 很多培训机构 讲解的项目 r ...

  7. 天天生鲜项目——注册页面

    7.register.html 注册页面,已加入了初步的表单验证效果,此效果在课程中已讲述如何制作. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  8. 天天生鲜项目——用户订单页

    9.user_center_order.html 用户中心-用户订单页 用户中心功能二,查看用户的全部订单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  9. 天天生鲜项目——用户信息页

    8.user_center_info.html 用户中心-用户信息页 用户中心功能一,查看用户的基本信息 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

最新文章

  1. Android库so文件及skia函数的调用
  2. a站手机访问电脑版_公司电脑一键变网盘,支持手机、家里电脑远程访问
  3. 将输出的数据按照表格的形式进行输出
  4. WebRTC通话质量调优:三个弱网模拟测试工具的使用与对比
  5. SQL Server索引视图以(物化视图)及索引视图与查询重写
  6. oracle rac 清理log,Oacle rac架构监听日志清理
  7. 干货:react新手入门之react小书
  8. 高中会考计算机网络技术试题,高中信息技术会考练习复习试题及答案
  9. OpenPose 基本理念
  10. 怎样看oracle删掉没有,肿么查看以前Oracle卸载干净没
  11. 从假装在腾讯,到真的360 —— 一个应届准PM的独白(面经干货)
  12. 审计小trick结合
  13. 计算机ppt以学校生活为主题的作文,以校园为主题的作文(通用5篇)
  14. Django-3-网址和网页内容的”红娘“-路由配置
  15. HDU 2883 kebab(离散化+最大流)
  16. Mac OSX: 有线共享WiFi
  17. 《2022-移动端游戏版号申请详解》
  18. 2018 NOIP 普及组
  19. html5---拖放demo----拖放图片
  20. 咸鱼的 GitHub 情报 | 20200111 期

热门文章

  1. 蓝桥杯scratch_又是福州第一!信息学编程竞赛“蓝桥杯”公布福建省赛榜单
  2. hbuilderx内置服务器启动失败_我们来看看Swoole是如何实现WebSocket服务器及客户端的...
  3. (57)Verilog HDL选择运算符:?
  4. (27)Verilog HDL循环语句:while
  5. (43)System Verilog 类中变量随机化
  6. (24)FPGA面试题3分频器
  7. java 两位小数 四舍五入_java里的四舍五入(保留两位小数,返回double类型)
  8. lwip-1.4.1文档rawapi中文翻译
  9. oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数
  10. Linux内核网络协议栈8—socket监听