【发布时间】:2010-06-24 12:36:10
【问题描述】:
我显然是某种黑暗魔法的受害者......
这是我渲染的模板:
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'
有谁知道为什么 {{ my_cube.measure }} 没有正确渲染,而显然函数调用成功???
NB : measure 函数没有任何魔力,内部状态没有改变,我测试过,每次都给出相同的结果,我还测试过将inspect放在{{ cube.measure }}....之前不要改变任何东西。我完全不知道发生了什么......
编辑:
我知道它似乎来自哪里。但这仍然很奇怪。由于某种原因,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
【问题讨论】:
标签: python django django-templates