2

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

foob​​ar.py:

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

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

索引.html:

${c.help_text}

这给了我一个错误 ==> AttributeError: 'ContextObj' object has no attribute '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' object has no attribute 'help_text'

4

1 回答 1

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”实际上并没有运行以响应处理查询,但是当你启动应用程序时它正在被正确处理。

如果您修复了这些错误但仍有问题,您能否提供更多有关错误的信息?你有堆栈跟踪或确切的行号吗?

于 2012-08-17T19:11:12.090 回答