繁体   English   中英

uWSGI + Django:如何将Django的过时警告视为错误?

[英]uWSGI + Django: How can I get Django's deprecation warnings to be treated as errors?

我的目标是将Django的过时警告视为错误。 我一直在尝试使用Django 1.9副本,但无法使其与uWSGI兼容(我认为)。 这是我所做的:

在我的settings.py文件中,我更改了django. template .context_processors.debug django. template .context_processors.debugdjango. core .context_processors.debug django. core .context_processors.debug ,以引起RemovedInDjango110Warning的出现。 然后,我运行runserver并访问了该站点。 该警告显示在runserver输出中,但是,正如预期的那样,它没有被视为错误。

接下来,我运行export PYTHONWARNINGS=error 之后,我运行了runserver并访问了该站点。 这次,警告被视为错误,这正是我想要的。

为了尝试使用uWSGI复制此行为,我将其添加到了uWSGI conf文件中:

env = PYTHONWARNINGS=error

然后,我访问了该站点。 该警告显示在uWSGI日志中,但是并未被视为错误。 为了确认是否设置了PYTHONWARNINGS环境变量,我将其添加到了wsgi.py文件中:

print('PYTHONWARNINGS: %s' % os.environ.get('PYTHONWARNINGS', '[not set]'))

这导致PYTHONWARNINGS: error在uWSGI日志中输出,所以我不确定是什么问题。 有任何想法吗?

它不是uWSGI配置解决方案,但您可以将以下代码段添加到项目的urls.py顶部:

import warnings
warnings.simplefilter('error', DeprecationWarning)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM