2016-12-30 57 views
0

我正在写一个Django项目,显示来自mysql数据库的数据, 数据库不断得到更新,我怎样才能不断地发送view.py中的数据。我尝试过看到很多模块,我遇到过芹菜,Tornado,Django频道,但它们大多是为聊天应用程序编写的,我也试着考虑在Django中使用Node.js。但是,在Django中进行简单数据更新的真正解决方案是什么?

现在我只是在刷新页面,我的HTML文件中使用此代码,并获得最后的数据,但问题是,它使网站运行非常缓慢:Django网页框架实时数据

<script> 

    var myVar = setInterval(ReLoad , 2000); //refresh every 2 seconds 

    function ReLoad() { 
     $("#live").load(document.URL + " #live"); 
    } 

</script> 
+0

你可以使用websockets,只需发送一个通知给客户端,当有新的数据,只需添加一个新的行或任何......但加载一个网址到div通常不是一个非常昂贵的操作......你也可以将反应或角度看作一个框架,用于不断更新数据 –

回答

0

虽然你绝对可以用网络套接字(如乔兰推荐),我会推荐推送通知。您可以检查出GCM和这个Django应用程序:

https://github.com/jleclanche/django-push-notifications

一个Django的问题是你需要跳铁圈使用网络套接字。如果你有兴趣,你可以看看这个应用程序:

https://django-websocket-redis.readthedocs.io/en/latest/running.html

你也可以考虑使用到的NodeJS特别服务的WebSocket,我认为这将是迫使Django中使用的WebSocket一个简单的解决方案。

我希望这有助于!

0

你可能想看看Ajax(异步JavaScript)。要在页面上更新某些内容,通常需要刷新页面。如果只有一部分页面需要在后台刷新,可以使用ajax。你可以看看谷歌的角js和Facebook的React js库。他们开发了这些,所以你可以得到一个没有刷新通知。我知道你可以很容易地将它集成到django(不太清楚如何)。

希望这可以给你一些线索,从哪里去!