Dav*_*Eyk 4 python templates template-engine mako
我发现尝试在Mako模板中访问一个未定义的变量会引发一个NameError,而且逻辑上也是如此.然而,在某些应用程序中,希望更优雅地失败,或许在这些错误上替换空字符串(AttributeError是另一个候选者).这是Django模板语言中的默认行为.有没有办法在Mako中获得这种行为?
Dav*_*Eyk 11
好吧,事实证明,更多的谷歌搜索使它显而易见:
import mako.runtime
mako.runtime.UNDEFINED = ''
Run Code Online (Sandbox Code Playgroud)
现在未定义的变量将产生空字符串.
阅读UNDEFINED原始值的来源是有启发性的:
class Undefined(object):
"""Represents an undefined value in a template.
All template modules have a constant value
``UNDEFINED`` present which is an instance of this
object.
"""
def __str__(self):
raise NameError("Undefined")
def __nonzero__(self):
return False
Run Code Online (Sandbox Code Playgroud)
我们走了.谢谢,谷歌.
| 归档时间: |
|
| 查看次数: |
1414 次 |
| 最近记录: |