ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Django缓存与信号

2021-01-22 14:03:40  阅读:179  来源: 互联网

标签:缓存 cache django signals 信号 使用 Django


缓存
第一步在setting中设置使用什么进行缓存(文件,redis,数据库等)
使用缓存
全栈使用缓存(中间件中使用缓存)
    MIDDLEWARE = [
    'django.middleware.cache.UpdateCacheMiddleware',
    # 其他中间件...
    'django.middleware.cache.FetchFromCacheMiddleware',
]

在视图函数中使用缓存:
	from django.views.decorators.cache import cache_page
	@cache_page(60 * 15) 
	def fun(request):
		pass
在路由匹配中使用缓存
	from django.views.decorators.cache import cache _page
	urlpatterns = [
	url(r'^foo/([0-9]{1,2})/$',cache_page(60 * 15)(my_view)),
]
在函数里面使用缓存
	函数中使用缓存是最基本的使用方法,跟在其他非 django 中使用的方式一致,无非就是使用 cache.set() 和 cache.get() 方法。
模板中使用缓存
	{% load cache %}
		{% cache 500 ‘cache_name’ %}
		缓存内容
	{% endcache %}
信号
什么是信号:就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。
Django内置信号
Model signals  数据库执行某个操作前后
Management signals 执行migrate命令前,后
Request/response signals 关于请求的信号
Test signals 使用test测试
Database Wrappers 数据库连接时,自动发生的

自定义信号
	定义信号
	import django.dispatch
	pizza_done = django.dispatch.Signal(providing_args=["toppings", "size"])
	 注册信号
	def callback(sender, **kwargs):
		print("callback")
		print(sender,kwargs)

	pizza_done.connect(callback)
	触发信号
	from 路径 import pizza_done

	pizza_done.send(sender='seven',toppings=123, size=456)

标签:缓存,cache,django,signals,信号,使用,Django
来源: https://www.cnblogs.com/KingOfCattle/p/14312930.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有