2012-08-17 42 views
2

在控制器中,我定義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'

+0

看到這個問題:http://stackoverflow.com/questions/12006720/pylons-mako-how-to-check-if-variable-exist-or-not – 2015-04-29 07:30:49

回答

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」實際上不是在響應處理查詢時運行,但在啓動應用程序時正在處理它。

如果您修復了這些錯誤並仍然存在問題,請您提供更多錯誤信息?你有堆棧跟蹤還是確切的行號?