首先,SAE的python web框架使用的文档在这里:入门指南css
使用的tornado版本是3.1。文档里也有提到,Torando的Worker还不稳定,须要谨慎使用。html
首先申明:懒人,只是在本地测试的时候发现这个问题了,线上测试没有进行过,估计也会有。python
在使用过程当中,发现其余各个方面都还好,可是若是使用Tornado的sattic_path
配置,在本地测试过程当中,总会出现static path 中的文件没法访问的问题,浏览器报错误 403, forbiden了,说是权限问题。web
文档中有提到浏览器
若是config.yaml中没有设置静态文件相关的handlers,系统会默认将/static为前缀 的URL转发到应用目录下的static目录。框架
因此估计是由于SAE自动的会将 /static 目录做为静态文件目录,而后tornado也会处理这个目录,冲突了。ide
没有在线上进行过测试,但本地能够简单修改tornado的web.py代码解决掉这个问题。函数
测试发现,其实出错的主要缘由,在于web.py会将 /static/yourfile.css
分割开,分红了root部分./static
和path部分yourfile.css
。可是若是加上sae,后面一半path会变成 /yourfile.css
。tornado
解决:在tornado的web.py中,修改函数get_absolute_path
,改为:测试
def get_absolute_path(cls, root, path): if path.startswith("/"): path = path[1:] # !! 添加这句 abspath = os.path.abspath(os.path.join(root, path)) return abspath
但毕竟没办法修改SAE预装打代码,也就是在本地能用着,因此: