没有项目描述
django-serverpush的Python项目详细描述
Django服务器推送
===
==易于使用的服务器推送解决方案,与Django高度集成。
您可以定义一个update函数,方法是将其命名为
与view函数相同,并附加“_update”。
%request.user.user name)
现在我们可以定义hello_update,它返回哪些类型的更新会影响此页,以及如何序列化:
*我们可以使用默认序列化程序,只需定义需要的字段:
def hello_update(request):
return[{name':'username_change','model':user'params':{'pk':request.user.pk},'data':{'username':'object.username'}]
,但是我们必须编写一个特殊的JavaScript位来处理这个问题:
$(document.bind('serverpush_username_change',function(event,data){
$('body').html('Hey,'+data.username+'!');
});
*“serializer”:hello_update_serializer}]
def hello_update_serializer(请求、用户、数据):
返回“嘿,%s!”%user.user name
,现在我们可以为每个页面都有一个特殊的JS,或者我们可以对它们进行一些概括,并且只有一个或几个(update函数中的名称是
JavaScript事件的名称)。
$(document.bind('serverpush_reload',function(event,data){
$('body').html(data);
});
标题一位:
def hello(request,user=none,data=none):
并为整个站点/更新提供一个通用的javascript(当然我们可以混合所有三种更新):
$(document.bind('serverpush_reload',function(event,data){
$('body').html(data);
});
为什么选择django serverpush?
——
,因为它非常易于使用,并且只需要很少的额外代码就可以转换传统的django应用程序。
安装此包
sudo python setup.py install
2。更新设置。py
将“serverpush”添加到已安装的_应用程序,并将“serverpush.client.context_processor”添加到模板_context_processors”。
还添加以下常量:
serverpush_notifier_port=8014
serverpush_globals=()将时间戳div添加到模板中(供历史记录使用)
<;div id="generated_timestamp" style="display:none">
{{生成的时间戳}
<;div>;
4。通过调用./manage.py runserverpush运行演示。创建sqlite文件
./manage.py syncdb
2。运行django development server
./manage.py runserver
>3。运行serverpush server
./manage.py runserverpush
>4。在多个浏览器/窗口/选项卡中导航到localhost:8000,并观察计数器
关于opera的问题(因为它不允许跨端口
XHR,JSONP让它“加载”),但我正在解决它们简单的解决方案是代理xhr。
===
==易于使用的服务器推送解决方案,与Django高度集成。
您可以定义一个update函数,方法是将其命名为
与view函数相同,并附加“_update”。
%request.user.user name)
现在我们可以定义hello_update,它返回哪些类型的更新会影响此页,以及如何序列化:
*我们可以使用默认序列化程序,只需定义需要的字段:
def hello_update(request):
return[{name':'username_change','model':user'params':{'pk':request.user.pk},'data':{'username':'object.username'}]
,但是我们必须编写一个特殊的JavaScript位来处理这个问题:
$(document.bind('serverpush_username_change',function(event,data){
$('body').html('Hey,'+data.username+'!');
});
*“serializer”:hello_update_serializer}]
def hello_update_serializer(请求、用户、数据):
返回“嘿,%s!”%user.user name
,现在我们可以为每个页面都有一个特殊的JS,或者我们可以对它们进行一些概括,并且只有一个或几个(update函数中的名称是
JavaScript事件的名称)。
$(document.bind('serverpush_reload',function(event,data){
$('body').html(data);
});
标题一位:
def hello(request,user=none,data=none):
并为整个站点/更新提供一个通用的javascript(当然我们可以混合所有三种更新):
$(document.bind('serverpush_reload',function(event,data){
$('body').html(data);
});
为什么选择django serverpush?
——
,因为它非常易于使用,并且只需要很少的额外代码就可以转换传统的django应用程序。
安装此包
sudo python setup.py install
2。更新设置。py
将“serverpush”添加到已安装的_应用程序,并将“serverpush.client.context_processor”添加到模板_context_processors”。
还添加以下常量:
serverpush_globals=()将时间戳div添加到模板中(供历史记录使用)
<;div id="generated_timestamp" style="display:none">
{{生成的时间戳}
<;div>;
4。通过调用./manage.py runserverpush运行演示。创建sqlite文件
./manage.py syncdb
2。运行django development server
./manage.py runserver
>3。运行serverpush server
./manage.py runserverpush
>4。在多个浏览器/窗口/选项卡中导航到localhost:8000,并观察计数器
关于opera的问题(因为它不允许跨端口
XHR,JSONP让它“加载”),但我正在解决它们简单的解决方案是代理xhr。