Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在Django中只记录一个视图的查询?_Django - Fatal编程技术网

是否可以在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日志库参考:

作为旁白;检查哨兵的日志作为一个旁白;查看日志的哨兵