Mako テンプレート内で未定義の変数にアクセスしようとするNameError
と、非常に論理的に が発生することがわかりました。ただし、一部のアプリケーションでは、より適切に失敗することが望ましく、おそらくそのようなエラーで空の文字列を置き換えます (AttributeError
別の候補です)。これは、Django テンプレート言語のデフォルトの動作です。Mako でこの動作を取得する方法はありますか?
1611 次
1 に答える
12
さて、もう少しグーグルで調べると分かりやすくなります:
import mako.runtime
mako.runtime.UNDEFINED = ''
現在、未定義の変数は空の文字列を生成します。
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
そして、そこに行きます。ありがとう、グーグル。
于 2011-09-09T23:01:50.613 に答える