我需要拦截所有对DB的查询并将它们写入文件日志。 因此,如果像DELETE,UPDATE和CREATE这样的基本操作可以拦截信号框架。但是READ查询怎么样?我怎样才能用信号捕捉它们?
答案 0 :(得分:1)
我认为django已经使用它的日志框架做到了这一点。如果要仅专门记录数据库查询。 您可以在设置中尝试以下操作。
LOGGING = {
'handlers': {
'query': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'logs/query.log',
'formatter': 'verbose'
},
},
'loggers': {
'django.db.backends': {
'handlers': ['query'],
'propagate': False,
'level': 'DEBUG',
},
}
}
答案 1 :(得分:0)
另一种方法是创建自定义中间件,并在其中处理查询
<button onclick="switchLayers()">Switch layers</button>
<div id="container">
<div id="layer1" class="layer"></div>
<div id="layer2" class="layer"></div>
</div>