首页 > 解决方案 > 将布尔值转换为自定义字符串

问题描述

我的数据库中有布尔值,在 Django 项目中,我将它们打印为 pdf。它非常小,但我喜欢它们打印为是/否而不是真/假。

我知道如果我在模板中输出布尔值,我可以使用 yesno:

https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#yesno

但我在一个函数中输出这些。我也知道我可以使用 if/else 语句,但希望能更简洁一些。

IE - 是否有一种简短、干净的方法可以将布尔值转换为自定义字符串。

谢谢你。

标签: pythondjangoreportlab

解决方案


bools = ('no','yes')

value = True
print(f'The value is {bools[value]}')

这使用了 python 布尔值实际上存储为int带有False== 0 和True== 1 的 s 来索引到值元组的事实。通过您正在打印的布尔值对元组进行索引,bools然后从元组中检索相应的值。 bools[False]又名bools[0]== '否' 和bools[True]aka bools[1]== '是'。


推荐阅读