Pylons Mako undefined变量

时间:2012-08-17 15:32:54

标签: python pylons mako

在控制器中,我定义了2个方法:

foobar.py:

class foo(self):
    c.help_text = 'help'
    return render('/index.html')

class bar(self):
    return render('/index.html')

的index.html:

${c.help_text}

这给了我一个错误==> AttributeError:'ContextObj'对象没有属性'help_text'

在阅读了一些mako文档后,我尝试了:

    % if c.help_text is UNDEFINED:
        foo
    % else:
        ${c.help_text}
    % endif

它也给了我一个错误。然后在我的development.ini中,我把:

mako.strict_undefined = false

[app:main]

这仍然给我一个错误==> AttributeError:'ContextObj'对象没有属性'help_text'

1 个答案:

答案 0 :(得分:0)

我相信您的控制器代码不正确。你的第一个样本应该是......

def foo(request):
    c.help_text = 'help'
    return render('/index.html')

def bar(request):
    return render('/index.html')

...或...

class Controller(object):
    def foo(self, request):
        c.help_text = 'help'
        return render('/index.html')

    def bar(self, request):
        return render('/index.html')

我相信因为你的控制器代码不正确,实际上并没有运行“c.help_text”来响应处理查询,但是当你启动应用程序时它正在被处理。

如果您修复了这些错误并仍然存在问题,请提供错误的更多信息吗?您是否有堆栈跟踪或确切的行号?