我显然是某种黑魔法的受害者。。。你知道吗
以下是我呈现的模板:
context = Context({'my_cube': c})
template = Template(
'{% load cube_templatetags %}'
'{{ my_cube|inspect }} {{ my_cube.measure }}'
)
以下是inspect
过滤器的实现:
def inspect_object(obj):
return obj.measure()
下面是渲染给我的:
>>> template.render(context)
u'6 None'
有人知道为什么我的_立方体测量}}显然函数调用成功了???你知道吗
注意:度量函数没有魔法,内部状态没有改变,我测试过,每次都给出相同的结果,我还测试过把inspect放在{立方体测量}}.... 不会改变什么。我完全不知道发生了什么。。。你知道吗
编辑:
我知道它是从哪里来的。但还是很奇怪。由于某些原因,我的对象的属性不是由template.Variable
解析的:
>>> Variable('measure').resolve(c) == None
True
>>> Variable('testitesti').resolve(c) == None
True
>>> c.testitesti()
68
#implementation of testitesti :
def testitesti(self):
return 68
嗯。。。我找到那该死的东西了!你知道吗
我试图呈现的对象有一个
__getitem__
方法是空的,所以词汇索引对这个对象有效(没有抛出错误),所以当然没有进行函数调用!你知道吗正在注册为过滤器,是吗?我想是的,否则整个模板都会窒息。是否存在保留字冲突?
inspect
毕竟是一个很有意思的术语。你试过把那个过滤器改名成别的吗?你知道吗相关问题 更多 >
编程相关推荐