0

パイロンでは、自己を使用する場合のように、クラスでグローバルと見なされる変数を使用するにはどうすればよいですか。自己を使用するパイロンでは機能しません。

私がコントローラーにいるとしましょう:

a.py:

class AController(BaseController):

    def TestA(self):
        text = request.params.get('text', None) 
        self.text = text
        redirect(url(controller = 'A', action = 'TestB'))

    def TestB(self):
        render '%s' % self.text

エラーが発生しました。「AController」オブジェクトには「text」属性がありません。パイロンでTestBを使用してTestAに基づいて「text」または「self.text」を表示するにはどうすればよいですか。

4

1 に答える 1

0

私はパイロンコントローラーでいつも同じようなことをしています。あなたが抱えている問題は、最初にTestBを呼び出すと、self.textが定義されないということです。あなたがする必要があるのは最初にそれを定義することです。

これは、あなたの例を機能させるために私がすることです:

class AController(BaseController):

    text = ''

    def TestA(self):
        text = request.params.get('text', None) 
        self.text = text
        redirect(url(controller = 'A', action = 'TestB'))

    def TestB(self):
        render '%s' % self.text
于 2012-10-16T08:23:37.837 に答える