是否可以在Django中只记录一个视图的查询?
我知道,在设置中,我可以设置是否可以在Django中只记录一个视图的查询?,django,Django,我知道,在设置中,我可以设置debug=True,并记录所有SQL查询 但是,我希望在返回响应之前,记录一个特定视图执行的所有SQL查询 在Django 1.3中如何实现这一点 这可以通过在特定视图的上下文中更改日志记录设置来实现 您仍然需要启用DEBUG: 出于性能原因,SQL日志记录仅在settings.DEBUG设置为True时启用,而不管安装的日志记录级别或处理程序如何 。。。但您可以修改配置,以便只记录特定视图的查询 以下是如何做到这一点: 1:在settings.py中,将djang
debug=True
,并记录所有SQL查询
但是,我希望在返回响应之前,记录一个特定视图执行的所有SQL查询
在Django 1.3中如何实现这一点 这可以通过在特定视图的上下文中更改日志记录设置来实现 您仍然需要启用
DEBUG
:
出于性能原因,SQL日志记录仅在settings.DEBUG设置为True时启用,而不管安装的日志记录级别或处理程序如何
。。。但您可以修改配置,以便只记录特定视图的查询
以下是如何做到这一点:
1:在settings.py
中,将django SQL logger(django.db.backends
)级别设置为INFO
或更高,并验证它是否停止记录SQL查询
2.a。视图中的第一行要进行SQL日志记录,请将记录器级别设置为DEBUG
。最后一行,将其设置回原始值。这是最简单的方法,但中间件在查看代码之前/之后执行的查询不会被记录
2.b。编写自定义中间件,在视图处理前后执行相同的操作。如果您将其放在第一位,则其他中间件发出的所有查询也将被记录
请注意,此方法不是线程安全的,但由于您只希望在开发环境中使用此设置,所以这不重要
Django文档“记录”章节: Python日志库参考:
这可以通过在特定视图的上下文中更改日志记录设置来完成 您仍然需要启用
DEBUG
:
出于性能原因,SQL日志记录仅在settings.DEBUG设置为True时启用,而不管安装的日志记录级别或处理程序如何
。。。但您可以修改配置,以便只记录特定视图的查询
以下是如何做到这一点:
1:在settings.py
中,将django SQL logger(django.db.backends
)级别设置为INFO
或更高,并验证它是否停止记录SQL查询
2.a。视图中的第一行要进行SQL日志记录,请将记录器级别设置为DEBUG
。最后一行,将其设置回原始值。这是最简单的方法,但中间件在查看代码之前/之后执行的查询不会被记录
2.b。编写自定义中间件,在视图处理前后执行相同的操作。如果您将其放在第一位,则其他中间件发出的所有查询也将被记录
请注意,此方法不是线程安全的,但由于您只希望在开发环境中使用此设置,所以这不重要
Django文档“记录”章节: Python日志库参考:
作为旁白;检查哨兵的日志作为一个旁白;查看日志的哨兵