gpt4 book ai didi

python - 在 Django 管理命令期间显示单行进度并在测试期间禁用它

转载 作者:太空宇宙 更新时间:2023-11-04 05:31:23 25 4
gpt4 key购买 nike

我有一些 Django 管理命令调用其他类中的方法来执行各种任务,比如从外部 API 获取数据。

在这些方法中,我输出一行显示进度,例如:

print('Fetched %d of %d' % (n, total) + ' '*30, end='\r')

工作正常,但是当我运行我的测试时,它被打印出来并搞砸了 .....E....F... 显示。我可以在所有测试中修补 print,但这看起来很笨拙。

那么 (a) 我是否应该以其他方式输出该进度线,和/或 (b) 是否有更好的方法在运行测试时抑制该输出?

最佳答案

第一步实际上是摆脱打印语句并将其替换为logging .

使用 django 日志记录,您可以获得比使用打印更多的控制权,而且设置起来也不难。其中两个关键特性是您可以控制日志消息是转到文件还是控制台。您还可以根据 DEBUG 标志进一步微调它。

您可能需要此消息仅出现在您的开发服务器上,而不出现在生产服务器上。所以日志记录可以帮助你。更重要的是,当测试运行时,它会关闭调试标志,这样您的 .....E....F 就不会困惑。

关于python - 在 Django 管理命令期间显示单行进度并在测试期间禁用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37079079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com