我正在寻找一种 django 设置或编程方式,以使所有 django 模板标签在值为 None 时显示空字符串。例如,假设我有一些 django 模板:
{{cat}} chases {{mouse}}
如果 cat 和 mouse 都为 None,它将呈现为:
None chases None
我知道我可以使用 {{cat|default:""}}
设置每一个或 {{mouse|default_if_none:""}}
但是,我正在寻找某种设置,允许我为所有标签设置默认值,而无需显式添加 |default:""
到每个标签。
我还知道一个名为 TEMPLATE_STRING_IF_INVALID
的设置.但是,此设置仅适用于无效字符串。没有一个被认为是有效的。
最佳答案
不存在这样的东西。这就是为什么 default
和 default_if_none
过滤器存在。这是一个功能;它让你思考你在做什么,而不是依赖于一些经常会误导的行为。如果变量有可能是None
,那么您应该为这种意外情况做好准备。如果变量应始终具有 some 值,则“无”表示某些事情不正确。如果默认只呈现一个空白字符串,那么您将不知道该值是否未定义或实际上是一个空白字符串。编写连贯的代码,忘记快捷方式。
关于python - 变量为无时默认模板标签输出的Django设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590198/