def configure_logging(logging_config, logging_settings):
if not sys.warnoptions:
# Route warnings through python logging
logging.captureWarnings(True)
# RemovedInNextVersionWarning is a subclass of DeprecationWarning which
# is hidden by default, hence we force the "default" behavior
warnings.simplefilter("default", RemovedInNextVersionWarning)
# ...
快速修复
要仅在运行
manage.py
时使其静音,请在import sys
之后添加以下行:如果您还想让它在WSGI服务器(即Apache)中静音,请更新
^{pr2}$your_project/wsgi.py
,并在import os
之后添加以下行:解释
这是因为
django.utils.log.configure_logging()
如何处理它:它在启动过程的早期被故意调用为
django.setup()
的一部分,这解释了为什么在您能够使错误在堆栈中更深入地静音之前发出错误。在向
sys.warnoptions
添加新元素将强制它计算为True
,绕过逻辑。这是无害的,因为当由warnings
模块加载时,它是only used during python startup。在RemovedInNextVersionWarning
只是^{DeprecationWarning
的未来证明。在命令行方法
注意,} argument 设置的。因此,在使用dev服务器时,一个简单的方法是使警告静音
sys.warnoptions
通常是在python启动期间根据调用python时的^{python -W123 manage.py runserver
。这不需要修改文件,但会在启动时产生一个无害的警告,因为123
只是一个占位符,不是有效的警告操作。在另一种方法是}的感兴趣的。在
python -Wi::DeprecationWarning manage.py runserver
,尽管这将忽略所有DeprecationWarning
,包括可能不{相关问题 更多 >
编程相关推荐