2012-08-16 4 views
0

dans les pylônes, comment puis-je utiliser une variable qui est considérée comme globale dans une classe, comme l'utilisation de soi, semble dans les pylônes en utilisant le travail self wont.pylons variable globale dans la classe

suppose que j'ai dans le contrôleur:

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 

obtenu une erreur, objet 'AController' n'a pas d'attribut 'texte', alors comment puis-je afficher 'texte' ou ' self.text 'basé sur TestA en utilisant TestB dans pylônes

Répondre

0

Je fais quelque chose de similaire tout le temps avec mon contrôleur de pylônes. Le problème que vous rencontrez est que si vous appelez TestB en premier, self.text n'aurait jamais été défini. Tout ce que vous devez faire est de le définir en premier.

C'est ce que je ferais pour rendre votre travail par exemple:

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