Chr*_*row 4 python django heroku real-time-updates pubnub
寻找使用PubNub将实时更新发送到用户的Web浏览器.
我查看了他们的网站和资料.看起来他们有几个不同的选择.
我们希望使用它将实时更新发送到用户正在查看的网页.这些信息很简单,比如"刚刚收到消息".我们不是试图实施聊天程序或类似的东西.
PubNub是一个很好的解决方案吗?如果是这样,应该使用哪个版本的服务?
我们在Heroku服务器上运行Django.
非常感谢!
Ste*_*lum 10
这是一个类似Facebook的窗口框的示例,它通过PubNub通过自定义消息通知您的用户.您可以在移动电话或浏览器上向用户发送更新.这将向您的用户显示通知; 任何通知你.
使用PubNub允许通过的WebSockets,波什,彗星和其他机制在你的应用程序中使用您提供发送数据的能力数据推 在任何时间直接通过您的用户MASS广播或 个别通知.
立即尝试: http ://pubnub-demo.s3.amazonaws.com/facebook-notification/index.html
下载源代码: https ://github.com/pubnub/javascript/tree/master/examples/facebook-notification
从这里开始,便于复制/粘贴代码.这很容易上手,我们建议您在开始之前从上面的示例链接开始.
首先包括FBootstrap资源,以便提供通知窗口的外观.将这些样式添加到HTML文件中.
<link href=bootstrap.css rel=stylesheet>
<style type=text/css> body { padding-top: 60px; } </style>
Run Code Online (Sandbox Code Playgroud)
接下来,您需要设置PubNub数据连接,然后添加规则,以便在收到数据后如何处理数据.
<script src="https://pubnub.s3.amazonaws.com/pubnub-3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-modal/2.2.6/js/bootstrap-modal.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>(function(){
// PubNub (For Data Push to User)
var pubnub = PUBNUB.init({
subscribe_key : 'demo',
ssl : false
});
// Setup New Data Push Connectoin via PubNub
pubnub.subscribe({
restore : true,
channel : 'example-user-id-1234',
callback : show_notification
});
// Setup Alert Window
$('#new-alert').modal({ keyboard : true });
// Show the Notification Window
function show_notification(message) {
$('#new-alert').modal('show');
}
// Simulate Notification
$('#simulate-notification').bind( 'mousedown', function() {
pubnub.publish({
channel : 'example-user-id-1234',
message : 'alert'
});
return false;
} );
})();</script>
Run Code Online (Sandbox Code Playgroud)
接下来,您将要将此python代码添加到Django或任何其他框架中.您可以将其添加到message post应用中的代码中.这会向您的用户发布通知.此特定示例将导致通知显示在Facebook通知页面内.
pip install pubnub
Run Code Online (Sandbox Code Playgroud)
## PubNub Setup
import pubnub from Pubnub
pubnub = Pubnub( 'demo', 'demo', None, False )
## Push Notice to 'example-user-id-1234'
info = pubnub.publish({
'channel' : 'example-user-id-1234',
'message' : { 'your-data' : 'any-data-here' }
})
print(info)
Run Code Online (Sandbox Code Playgroud)
小智 8
对于一些不那么通用的东西,使用由Django提供的API触发的信号和非常强大的通道安全性,请查看https://github.com/sivang/django-pubnub(直接来自烤箱;)).