SAE的python功能当前已可用,且可以轻松绑定自己的域名,想体验一把只需以下几步:

step1:下载python版blog

step2:修改 config.yaml 和 setting.py 后上传

step3:在后台(1)初始化Mysql,(2)新建一个name为default的TaskQueue,(3)建立一个name 为 attachment的Storage domain

step4:通过访问http://yourappid.sinaapp.com/install 来建立数据表,然后就大功告成。

创建自己的Python 应用

登陆到SAE 后台 创建一个Python 应用,如saepy,同时为这个应用创建一个版本,右边栏的应用管理/代码管理 点一下“通过这里创建一个版本.”输入一个版本号为“1”

使用SVN 管理应用

接着去学习一下如何使用SVN 来管理代码,下载一个TortoiseSVN 客户端,使用很方便。

TortoiseSVN 安装好后,在自己的电脑如D 盘下建立一个saeapp 文件夹,在saeapp下建立一个你刚才申请应用的文件夹,如saepy,对着saepy 点右键,点“SVN update”,按提示输入一些信息,若成功,则在saepy下会有一个文件夹“1”,里面有两个文件config.yaml、index.wsgi,这两个文件可以删除。

下载一款开源的SAE Python blog 程序解压后把文件夹“1”里的文件都复制到上面的同名文件夹“1”下,
只需修改 config.yaml 文件的第二行,把 name: saepy 改为你自己申请到的 appid,

保存对该文件夹“1”,点右键,点“SVN Commit”,在第一个大框随便输入一个信息,如“new”,注意要把“Select / deselect all”前的小框勾上,这才使新增加的文件上传到SAE。附另外一种上传代码的方法:

如果你嫌SVN麻烦,可以用“上传代码包”的方式上传,先修改相关文件,如setting.py 再按下文 开通SAE 相关服务, 然后进入SAE 后台,其“代码管理”里有个“上传代码包”的选项,点它即可。

上传代码包需注意:

只支持上传zip、 gz、tar.gz三种代码包,文件大小不能超过20MB,同名文件将会被覆盖。上传后的目录结构将跟压缩包内的目录结构保持一致。
我没试过,感谢kupo尝试了这个方法。

开通SAE相关服务

上传后打开你的应用地址 xxx.sinaapp.com 出现“500: Internal Server Error”错误提示,这是因为还没有在SAE 后台开通一些服务,这个blog 应用需要用到的三个服务需要在后台手动开通。

1)开通Mysql

服务管理/MySQL 点击“点此初始化Mysql”,等5秒钟就完成了。

2)开通Task Queue

服务管理/TaskQueue 点“创建队列”,

队列名:default

类型:顺序队列

Level:队列等级 选Level 1

失败回调URL:可不填

点创建,瞬间完成

3)开通Storage

服务管理/TaskQueue 点“新建一个domain”,

domain name 为 attachment

勾选缓存过期时间,设为365天

开通上面三个服务后打开你的应用地址安装:http://xxxx.sinaappp.com/install(如果出现错误就再刷新一次),若安装成功就会出现 “博客已经成功安装了,现在就去 设置一个管理员帐号”提示。

配置自己的博客

现在博客的一些设置还是默认的设置,
还要修改 setting.py 里的信息,里面都有说明,修改后对setting.py 点右键,点SVN Commit,刷新网站就可以了。

可能会遇到以下问题:

Traceback (most recent call last):

File “/data1/www/htdocs/291/sobaigu.com/1/index.wsgi”, line 4, in

from blog import urls as blogurls

……

File “/data1/www/htdocs/291/sobaigu.com/1/setting.py”, line 24

ANALYTICS_CODE =

SyntaxError: invalid syntax

以上错误为修改setting.py时,添加的统计代码未在前后使用’’’注释,修改的时候以为是要去掉注释的,谁知去掉了反而报错,加上注释就好了.

Traceback (most recent call last):

File “/usr/local/sae/python/lib/python2.7/site-packages/tornado/web.py”, line 954, in _execute

……

self.query(“SHOW WARNINGS”)

ProgrammingError: (2014, “Commands out of sync; you can’t run this command now”)

这个实际上没什么错误,刷新你的网站前台页面即可.

参考文档:http://saepy.sinaapp.com/category/SAEpy-log/