首先,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預裝打代碼,也就是在本地能用着,因此: