2012-05-26 158 views
3

我發現django後又寫了幾個應用程序。然後,我發現了Google App Engine,並且很高興能夠給它一個旋轉,尤其是它專門提到了python和django。Google App Engine和django-nonrel

我使用GAE hello World應用程序確認了使用python 2.7進行GAE安裝。然後我遇到了django-nonrel測試應用程序的問題。然後用Googling單個錯誤結束了python路徑添加了大約7個不同的東西,直到達到我無法解決的錯誤。

從外觀上看,我似乎已經在某種程度上使用了Windows,所以我在VM上安裝了全新的Ubuntu副本並​​重新開始。通過驗證的python 2.7,將GAE放在推薦位置,克隆了幾個軟件包,並將它們象徵性地鏈接到提供的測試應用程序文件夾中。當我./manage.py runserver它再次踢出了相同的錯誤消息,使我在Windows中停滯不前。

我的系統級問題是django-nonrel因其主要開發人員的辭職而失去動力。 GAE沒有停下來,兩者之間正在形成差距。這個觀察是否正確?如果社區要去哪裏?它是凱嗎? (http://code.google.com/p/kay-framework/)

它使用Google自己的最小Python框架工作嗎?它是Java而不是Python嗎?

我懷疑有成千上萬的人在做GAE項目,但我並不感覺良好的走向。有很多人仍然對django-nonrel有信心嗎?我意識到我可能會錯過像路徑變種或其他東西那樣簡單的東西,但如果我應該學習其他東西,我不想繼續尋找它。

回答

4

我正在積極地使用django-nonrel來完成一個我已經工作了幾個月但尚未啓動的項目。上個星期,我收到了一位開發人員的建議,目前正在開發django-nonrel來試用最新的分支,該分支正在運行django 1.4。請注意,django 1.4並未從GAE SDK正式提供。儘管如此,感覺django-nonrel正在前進,並且它的文檔已被留在塵土中。您可能需要一些開發版本才能使用最新,最好的版本。

django-nonrel可能已經失去了一些動力,但我認爲它已經死亡。有一點需要注意的是,大多數活躍的開發人員將它與mongo-db一起用作後端。這現在不是問題,但我擔心mongo-db版本和appengine版本可能會分裂 - 希望這不會發生。

我在SO和線上郵件列表中遵循App Engine線程的觀點是,聲音多數在Java上。在python用戶中,通用平臺是webapp2 + app引擎原生模型+ Jinja2或類似的模板庫。

從使用Django的nonrel我的經驗:

優點:

  • 我想工作的第三方Python庫,這爲我節省了很多時間。例如,django-social-auth給了我facebook和twitter登錄,幾乎沒有任何工作。

  • 爲您提供關閉AppEngine到另一個python + mongo平臺的潛力。

缺點:

  • 舊版本缺少對祖先查詢的支持,但是這就是現在的1.4分支。

  • 你是你自己的支持。還有其他一些非常有用的人,但我不得不跳入代碼庫來修復問題並添加功能。我做了幾次這樣的事情(例如,當App Engine SDK發佈bug時),但這很少見。

  • django花費比webapp2更長的時間來加載,但是如果你沒有使用django.contrib中的everyhing,這並不壞。

  • 你沒有得到ndb的善良。你錯過了ndb實體緩存。不過,我發現我更經常使用查詢,而不是ndb緩存,所以這可能會或可能不會是一個大的損失。