其他分享
首页 > 其他分享> > Django缓存与信号

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