一个简单的django插件,用于从django服务器向sockjs客户端发送推送通知

djazator的Python项目详细描述


djazator是一个简单的django插件,用于从django服务器向sockjs客户端发送推送消息。它在内部使用“zeromq”和
“sockjs tornado”。djazator可以向所有sockj
客户端和该客户端的子集发送推送通知。

要求:
----


1。` Pyzmq`>;=2.0
2.` Sockjs Tornado`>;=0.0.5
3.` djazator ``django``1.4


>安装:











<





















>已安装的应用程序=(
'django.contrib.auth''djazazator````djazator````安装在您的``安装的应用程序中


“djazator”,
……
……















>d扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎扎pub=tcp://127.0.0.1:8001

服务器

::


djazator服务器--port=8080--mq懔socket=tcp://127.0.0.1:8001--route=/sockjs--address='



您可以完全省略djazator mq,并应将-s/--single参数传递给djazator server

::



append sockjs client library到您的页面


<;script src=“http://cdn.sockjs.org/sockjs-0.3.min.js”>;




>在浏览器中打开页面并连接到sockjs tornado服务器





定义传入消息的回调




从django发送消息

::


})

,您将在js控制台中看到它。}

高级通知:
----


您可以向用户子集发送通知。




来自djazator.pub import notify
来自djazator.utils import tokenize
来自django.contrib.auth.models import user
user=user.objects.get(email='djazator@mail.com')
通知({'msg':你好,%s!'%user.username},user s=[user])
token=tokenize(user)
notify({'msg':u'hi user with token%s!'%token},user s=[user])


若要获取此消息,您需要通过token订阅



sockjs.prototype.emit=sockjs的函数(名称,数据){//wrapper.send以获取djazator的协议支持
var meta dict={
name:name,
data:data
};
this.send(json.stringify(meta-dict))
};
conn=new sockjs('http://localhost:8080/sockjs')
conn.emit('subscribe',{'token':token});
conn.onMessage=function(e){console.log(e.data);};

`{%djazator_token%}`不过是
``djazator.utils.tokenize``的包装器,返回用
standart django唱歌机制签名的user.id。您可以通过在“settings.py”中设置
“djazator_salt”来配置自己的salt。如果您需要更高的安全性,
您可以提供自己的标记化功能。它应该接受django user
对象并返回令牌。在settings.py.

::


djazator_tokenizer='path.to.my.func'


结论:
----


1。djazator使用iso 8601格式序列化datetime对象。你可以在客户端用'moment.js'.
2解析它。djazator服务器只能处理用特定w构造的客户端消息不能用于客户端到客户端的通信。臀部疼痛https://github.com/mike grayhat/djazator
。ZeroMQ:http://www.zeromq.org/
。moment.js:http://momentjs.com/
。https://github.com/mrjoes/sockjs tornado
https://github.com/zeromq/pyzmq
。http://www.djangoproject.com/
。hipache:https://github.com/dotcloud/hipache

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧