使用Zinnia 0.13在SAE上搭建博客

Zinnia项目简介:

django-blog-zinnia

Zinnia是一款基于Django的开源博客引擎,它简单实用、功能强大且易于扩展。

Zinnia包含了主流博客引擎的大部分特性,开发者可以方便地在Django Web框架下搭建起属于自己的博客。

Zinnia目前的最新版本是0.14,创建者为Fantomas42。

Github的项目地址请戳:https://github.com/Fantomas42/django-blog-zinnia/

截止到2014年2月6日,该项目是Github上最热门的Django Weblog引擎。

然而,由于Zinnia 0.14依赖的Django最低版本为1.6,而SAE目前支持的Django最高版本为1.5,所以还无法在SAE上使用。

限于SAE的Python环境,目前只能使用Zinnia 0.13版本(该版本依赖的Django最低版本为1.5)


在SAE上搭建Zinnia博客的过程:

(假设已经建好了一个django web工程)

注:Zinnia依赖于django-admin模块,首先需要启用django-admin,

具体操作方法见 ...

继续阅读

基于Channel的Django日志查看工具

DjangoLogboard4Sae

DjangoLogboard4SAE是一个运行在SAE(Sina Application Engine)的实时日志查看工具

该工具使用了Channe服务,可将Django应用的请求与异常日志实时地展现给开发者,便于线上调试

Github:https://github.com/qinjiannet/logboard

演示地址:http://logboard.sinaapp.com

使用方法:

1. 在settings.py文件中MIDDLEWARE_CLASSES列表添加logboard.middleware.DebugMiddleware中间件

2. 启用SAE的task_queue模块,创建一个等级为2的顺序队列,命名为msg_queue

3. 初始化kvdb

4. 修改urls.py,添加路由:

  1. url(r'^logboard/' ...

继续阅读

基于MySQLdb的SAE_PYTHON环境MYSQL小工具


Python代码 


  1. #coding=utf-8

  2. import sae.const

  3. import MySQLdb

  4.  

  5. #获取数据库连接

  6. def get_conn():

  7.   conn=MySQLdb.connect(host=sae.const.MYSQL_HOST,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,db=sae.const.MYSQL_DB,port=int(sae.const.MYSQL_PORT),charset='utf8')

  8.   return ...

继续阅读

SAE_Channel服务尝鲜(Python版)

今天小试了一下SAE近期推出的Channel服务的Python版本,简单谈下自己的感受。
SAE_Channel服务拟满足的需求是“实时消息推送”,亮点是“推送”二字(push),应用了Html5的WebSocket协议。与之相对,Web应用中的消息传递功能也可采用ajax定时查询的方式实现。JS客户端(周期性地)主动向应用服务端发送新消息查询请求,亦即从服务端“拉取”(pull)信息,这种方式最大的不足之处就是无法保证新消息的实时性。

与传统的C/S模式消息传递方式相比,SAE_Channel服务新增了一个角色“Channel服务器”(URL:channel.sinaapp.com),充当了Client和Server之间的“中间人”(Mediator)。

JS客户端通过应用服务端获取到channel的URL(形如ws://channel.sinaapp.com/{{token}}),此后即可与channel服务端采用WebSocket协议进行信息的上传和接收。
下面的Demo代码实现了JS服务端实时地从channel服务器获取消息并弹出提示框的简单功能。

JavaScript代码 
  1. <script src="http://channel.sinaapp.com ...

继续阅读