![](/img/trans.png)
[英]Can I call a JavaScript function from a tornado template if check?
[英]How to call a javascript function from tornado web <python>?
我想用smoothy js制作一個實時圖表。 我的服務器從龍卷風中運行,這是用 python 編寫的。 Smoothy 可以實時刷新圖表。 在python中,我渲染了包含smoothy的html文件,但我不知道如何從python刷新數據(因為我的數據在SQL數據庫中)有從html文件調用的函數:(稱之為ex.html)
var line1 = new TimeSeries();
var line2 = new TimeSeries();
var i = 1;
setInterval(function() {
line1.append(new Date().getTime(), Math.random);
line2.append(new Date().getTime(), Math.random());
}, 1000);
如您所見,append 方法更新了我的圖表,第二個參數是值(x 軸)。 所以我的問題是:如何使用冰沙從龍卷風網絡添加信息?
還有我的python代碼:
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("ex.html")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
如果我的描述無法理解,請給我留言。 感謝你的回答!
您可以將信息傳遞給您的模板,例如
class MainHandler(tornado.web.RequestHandler):
def get(self):
data = {"x": "01/01/17", "y": 100}
self.render("ex.html", data=data)
並在 html 模板中
line1.append({{ data["x"] }},{{ data["y"] }} )
這只是一個簡單的示例,請查看模板文檔以獲取更復雜的示例,例如使用循環。
這種方式是靜態的,對於ajax來說可以,這里是一個例子。
<script type="text/javascript">
setInterval(function() {
$.getJSON("/stats",function(data){
line1.append(data.time, data.in);
line2.append(data.time, data.in);
});
}, 1000);
</script>
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("ex.html")
class Stats(tornado.web.RequestHandler):
def get(self):
self.write({"time":"time","in":10})
def make_app():
return tornado.web.Application([
(r"/stats", Stats),
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.