我在MACOS终端上。我正在尝试打印运行django测试的彩色输出。我正在从终端设置
export DJANGO_COLORS="error=yellow/blue,blink;notice=magenta"
(也尝试了DJANGO_COLORS="light"
等。
然后,从Django测试代码开始
print(os.environ['DJANGO_COLORS'])
logger.error("test")
然后运行
python manage.py test
第一行验证环境变量设置正确。但是下一行正常打印,没有着色。怎么了?
答案 0 :(得分:1)
来自处理DJANGO_COLORS
的{{3}}(重点是我):
如果您的终端支持ANSI彩色输出,则 django-admin / manage.py命令将使用漂亮的彩色编码输出。
这没有提到logging
包的输出。引用的命令使用django-admin
syntax coloring documentation,应将DJANGO_COLORS
考虑在内。
如果您想要的是日志记录中的颜色,则可能需要查看a specific kind of stdout.write
invocation的答案。
答案 1 :(得分:0)
from django.core.management import color_style
sys.stdout.write(color_style().WARNING("Colorful!"))