2016-05-16 7 views
0

Ich habe Schwierigkeiten, eine Tornado-Webanwendung einzurichten, so dass jedes Mal ein neuer Datensatz in MySQL-Tabelle eingefügt, nach dem Aktualisieren der HTML-Seite (oder noch besser ohne Auffrischung) Daten in der gerenderten HTML-Tabelle werden aktualisiert.Tornado: aktualisierte Daten in HTML-Tabelle von MySQL-Datenbank anzeigen

Der Request-Handler-Code ist wie folgt:

class TestHandler(tornado.web.RequestHandler): 
    def get(self): 
     data=sess.query(Country).all() 
     self.render("test.html", data=data) 

Die HTML-Tabelle Code lautet wie folgt:

<table id="example" > 
    <thead> 
     <tr> 
      <th>name</th> 
      <th>capital</th> 
     </tr> 
    </thead> 
    <tbody> 
     {% for dt in data%} 
      <tr> 
       <td>{{dt.name}}</td> 
       <td>{{dt.capital}}</td> 
      </tr> 
     {% end %} 
    </tbody> 
</table> 

Derzeit ist die HTML-Tabelle ist nicht im Hinblick auf etwaige Updates von MySQL-Tabelle aktualisiert Seite. Nur beim Neustart des Tornado-Servers werden die neuen Daten angezeigt. Diese Frage mag sehr elementar sein, aber ich brauche hier wirklich einige Anweisungen.

Antwort

0

Problem gelöst. Da ich SQLAlchemy für den Zugriff auf die MySQL-Datenbank verwende, muss ich die Ursprungssitzung beenden und eine neue Sitzung erstellen.

class TestHandler(tornado.web.RequestHandler): 
    def get(self): 
     sess = Session() 
     data=sess.query(Country).all() 
     sess.close() 
     self.render("test.html", data=data)