python3 之 天天生鲜 项目 缓存cache
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相关推荐
- 天天生鲜项目开发笔记
天天生鲜项目开发笔记 说在前面的话 大学四年,忙忙碌碌,什么都学了,又好像什么都没学,总之要毕业了,毕设题目是"生鲜配送系统",B站上找到了一个天天生鲜的项目开发教程,之后文章记录 ...
- 【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)
本部分涉及订单的生成.并发处理.支付.评论等 关键:MySQL事务.并发处理的悲观锁/乐观锁.支付宝SDK 的使用...... 仅作为个人笔记! 目录 2.创建订单 3.订单生成 3.1. MySQL ...
- 天天生鲜项目从0开始
天天生鲜 一.环境准备 因为此文章是实践项目文章,所以对于基础的python安装就不多做赘述,这里只交代系统环境是ubuntu操作系统,python3.5 安装虚拟环境软件 安装虚拟环境: sudo ...
- GO语言开发天天生鲜项目第三天 用户模块开发
项目分析 一.项目架构 二.数据库表设计 用户模块 ##一.用户注册 用户通过我们的网站购买商品前,必须要登录.如果,该用户在我们的网站上没有账号,那么必须进行注册.下面我们看一下注册的具体实现过程( ...
- Django通过celery 异步发送邮件 : django开发之天天生鲜项目知识总结【5】
这里初次学习celery,只简单讲解一下如何使用celery 异步发送邮件,在以后的总结中还会,多次提到celery,因为后面很多任务都需要用到celery执行任务,后面再专门针对celery做具体的 ...
- 天天生鲜项目 python邮箱_python3 之 天天生鲜 项目(初学者)1
简单第一步 假设: 你已学过 python基础.高级:了解并简单使用linux操作系统:mysql数据库.redis数据库的简单使用:掌握Django框架的使用 这是一个 很多培训机构 讲解的项目 r ...
- 天天生鲜项目——注册页面
7.register.html 注册页面,已加入了初步的表单验证效果,此效果在课程中已讲述如何制作. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
- 天天生鲜项目——用户订单页
9.user_center_order.html 用户中心-用户订单页 用户中心功能二,查看用户的全部订单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- 天天生鲜项目——用户信息页
8.user_center_info.html 用户中心-用户信息页 用户中心功能一,查看用户的基本信息 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...
最新文章
- Android库so文件及skia函数的调用
- a站手机访问电脑版_公司电脑一键变网盘,支持手机、家里电脑远程访问
- 将输出的数据按照表格的形式进行输出
- WebRTC通话质量调优:三个弱网模拟测试工具的使用与对比
- SQL Server索引视图以(物化视图)及索引视图与查询重写
- oracle rac 清理log,Oacle rac架构监听日志清理
- 干货:react新手入门之react小书
- 高中会考计算机网络技术试题,高中信息技术会考练习复习试题及答案
- OpenPose 基本理念
- 怎样看oracle删掉没有,肿么查看以前Oracle卸载干净没
- 从假装在腾讯,到真的360 —— 一个应届准PM的独白(面经干货)
- 审计小trick结合
- 计算机ppt以学校生活为主题的作文,以校园为主题的作文(通用5篇)
- Django-3-网址和网页内容的”红娘“-路由配置
- HDU 2883 kebab(离散化+最大流)
- Mac OSX: 有线共享WiFi
- 《2022-移动端游戏版号申请详解》
- 2018 NOIP 普及组
- html5---拖放demo----拖放图片
- 咸鱼的 GitHub 情报 | 20200111 期
热门文章
- 蓝桥杯scratch_又是福州第一!信息学编程竞赛“蓝桥杯”公布福建省赛榜单
- hbuilderx内置服务器启动失败_我们来看看Swoole是如何实现WebSocket服务器及客户端的...
- (57)Verilog HDL选择运算符:?
- (27)Verilog HDL循环语句:while
- (43)System Verilog 类中变量随机化
- (24)FPGA面试题3分频器
- java 两位小数 四舍五入_java里的四舍五入(保留两位小数,返回double类型)
- lwip-1.4.1文档rawapi中文翻译
- oracle 行数大于一时,oracle – PL / SQL ORA-01422:精确的提取返回超过请求的行数
- Linux内核网络协议栈8—socket监听