我有一个变量 myvariable,我想在 Mako 模板中使用它。我希望能够在对其进行任何操作之前以某种方式检查其类型。检查此类信息的语法是什么?我知道 python 有 typeof 和 instanceof,但是 Mako 中有类似的东西吗?或者你会怎么做?
伪代码如下:
% if myvariable == 'list':
// Iterate Throuh the List
%for item in myvariable:
${myvariable[item]}
%endfor
%elif variabletype == 'int':
// ${myvariable}
%elif myvariable == 'dict':
// Do something here
最佳答案
您可以使用isinstance()
:
>>> from mako.template import Template
>>> print Template("${isinstance(a, int)}").render(a=1)
True
>>> print Template("${isinstance(a, list)}").render(a=[1,2,3,4])
True
UPD。 if/else/endif 内部的用法如下:
from mako.template import Template
t = Template("""
% if isinstance(a, int):
I'm an int
% else:
I'm a list
% endif
""")
print t.render(a=1) # prints "I'm an int"
print t.render(a=[1,2,3,4]) # prints "I'm a list"
关于python - 如何检查mako模板中的instanceof?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18599946/