我有一个布尔值,它是false,但是我希望它在打印到网页上时说类似“否”而不是“ False”。
如果打印是,则打印“是”而不是“真”也是如此。我以为这是有可能的!
模型中的代码:
urgent = models.BooleanField()
模板中的代码:
<p>Upvotes: {{ ticket.urgent}}</p>
现在,要打印出来听起来很奇怪:
Urgent: False
但这听起来更自然,用户体验更好:
Urgent: No
答案 0 :(得分:4)
您可以只使用yesno
将True,False和(可选)无的值映射到字符串“ yes”,“ no”,“ maybe”或以逗号分隔的列表形式传递的自定义映射,并根据值:
<p>Upvotes: {{ ticket.upvotes|yesno }}</p>
答案 1 :(得分:1)
类似的东西(我没有检查)
class CustomBoolean(models.Field):
# ...
def to_python(self, value):
if value == 'No':
return False
else:
return True