2010-05-24 13 views
0

j'écris serveur web qui me répond avec une liste de fichiers dans certains dossiers:cherrypy conserve objet entre la page mise à jour

test_folder = 'somefolder' 
class TestLoader(object): 
    data = [] 
    index = 0 
    def __init__(self, dir): 
     for sub in os.listdir(dir): 
      self.data.append(sub) 

class TesterServer(object): 
    @cherrypy.expose 
    def index(self): 
     return "Test server works!" 

    @cherrypy.expose 
    def test(self): 
     tm = helper.TestManager(test_folder) 
     msg = '' 
     for i in tm: 
      msg += "\t %s" % i 
     return msg 
cherrypy.quickstart(TesterServer()) 

Le problème est le suivant: quand je rechargeant la page, les données sont en cours de duplication, pas actualisé.

-à-dire:

chargement de la page: aaa BSBT BSTAT bump.py cherry.py helper.py

Page reload: aaa BSBT BSTAT bump.py cherry.py helper.py aaa BSBT BSTAT bump.py recharger # 2: aaa bsbt bstat bump.py cherry.py helper.py aaa bsbt bstat bump.py cherry.py helper.py aaa bsbt bstat bump.py cherry.py helper. py

etcetera

Qu'est-ce que je fais mal? Merci d'avance

Répondre

1

Vous avez défini un attribut de classe data. Attribuez-le à __init__() à la place.

self.data = [] 
+0

donc il est devenu un membre statique d'une classe. merci, ça a aidé! – user349317