鑑於bae與sae是國內少有的app engine. 且bae又後來居上、可用git版本管理,因而試用此平臺掛一個測試Python Django應用。
但百度雲的Python文檔還真是少的可憐,又沒怎麼維護,都讓我懷疑到底這貨百度要不要了。文檔傳送門。bae支持Django 1.4版本,主流是1.5,將就着用。
http://901314.duapp.com/就是拙做,頁面中惟一的超連接hello的實現方式是調用Django中的一個app。依着簡陋的文檔修修補補push兩回後,超連接hello竟然是404錯誤,頓時亂了手腳。這麼簡單的測試也出錯,但bae又不給調試信息,因而亂七八糟的搞了一會仍是沒見效。最後想一想,多是git上傳了.pyc字節碼文件搗亂,刪除bae上的全部代碼,從新push一份乾淨的demo,終於hello連接能夠跳轉了,記錄慶祝下,SE來爬個人網頁吧哈哈。之後試試動態生成內容。
示例源碼http://git.oschina.net/397667796/bae_django,來fork吧。 php
ps: bae好像也會出調試信息,把調試打開,訪問不存在的地址http://901314.duapp.com/hellos,出現下面與本地同樣的debug信息,那爲何以前超連接出問題不出debug信息呢?==! html
Page not found (404) Request Method: GET Request URL: http://901314.duapp.com/hellos Using the URLconf defined in bae_django.urls, Django tried these URL patterns, in this order: ^$ [name='home'] ^hello/$ [name='hello'] The current URL, hellos, didn't match any of these. You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.
2013.07.10 更新:
源代碼增長BAE版本1,測試調用非默認的Django 1.4庫,而是調用應用目錄下的Django 1.5.1庫,測試成功。參考http://developer.baidu.com/wiki/index.php?title=docs/cplat/rt/python/faq。但總共幾M的git包,竟push到BAE失敗,提示以下。哪位知道如何解決的,多謝回覆。
python
Counting objects: 4592, done. Delta compression using up to 2 threads. Compressing objects: 100% (2499/2499), done. efrror: RPC failed; result=22, HTTP code = 411| 1.23 MiB/s Watal: The remote end hung up unexpectedly Writing objects: 100% (4588/4588), 3.04 MiB | 957 KiB/s, done. Total 4588 (delta 1209), reused 1 (delta 0) fatal: The remote end hung up unexpectedly Everything up-to-date
2013.07.11 更新:
今天折騰半天,終於弄清「超連接hello竟然是404錯誤」的緣由,在於app.conf文件,出現錯誤的靜態資源文件配置以下。
(2013.07.11晚更新:此配置是對未使用Django框架,全部路由由app.conf處理,不管是目錄(/)、靜態文件(/static/$1)、仍是(動態腳本)):
git
handlers: - url : / script: index.py - url : /(.*).py script: $1.py - url : /static/(.*) script: /static/$1 - expire : .jpg modify 10 years - expire : .swf modify 10 years - expire : .png modify 10 years - expire : .gif modify 10 years - expire : .JPG modify 10 years - expire : .ico modify 10 years而正確的配置文件是下面這樣的,區別在於對index.py的映射路徑。
handlers: - url : /static/(.*) script : /static/$1 - url : /.* script : index.py - expire : .jpg modify 10 years - expire : .swf modify 10 years - expire : .png modify 10 years - expire : .gif modify 10 years - expire : .JPG modify 10 years - expire : .ico modify 10 years坐等大神們幫忙解釋。