2010-03-02 64 views
4

一些背景信息第一:Django + GAE(Google App Engine):初學者最方便的路徑嗎?

  • 目標:中等複雜程度的Web應用程序,我將需要保持並可能延長几年。
  • 經驗:瞭解python,有一些MVC框架的經驗(在PHP中)。使用djangogoogle app engine

我廣泛閱讀GAE和Django的之間的兼容性問題,我知道GAE patchnorel project,和其他代碼類似的作品。我也瞭解到SDK提供了「開箱即用」的django的一些功能。

然而,因爲我有既不的Django也不GAE沒有以往的經驗,我無法在何種程度上使用Django的補丁版本將剝去重要的功能,或者在多大程度上框架來評估在SDK中提供與Django兼容。所以,我對什麼是在我的情況,最好的方法比較混亂:

  • 我應該簡單地使用Django的補丁版本與原來的Django的差異是如此輕微的,我會很難注意到他們?
  • 我是否應該在「常規django」中完全編寫我的應用程序,然後嘗試將它移植到GAE,然後才能掌握Django內部和哲學?
  • 我應該使用隨SDK提供的框架編寫我的應用程序,並且只在之後將它移植到django嗎?
  • 我應該...?

預先感謝您的時間和建議。

回答

6

我不確定Django是否適合你。 Django是獨立應用程序的絕佳框架,因爲它提供了一個完整的堆棧解決方案:ORM,認證系統和管理界面等等。您將無法在App Engine上使用任何這些功能。此外,許多代碼示例都適合使用內置的Web應用程序框架 - 您可以非常方便地在app.yaml中設置緩存過期和身份驗證設置以進行配置。

我看到兩個路徑之一爲您提供:

  • 瞭解的App Engine的webapp用。有足夠的知識來了解如何使用數據存儲區和App Engine的服務來讓您忙碌。
  • 從App Engine學習Django。你會學到很多關於使用Django的ORM,管理好東西,URL路由,表單和模板

通過試圖在同一時間來學習的,比你需要學習的Django的細微差別,你會花更多的時間/ GAE兼容性,你可以花時間學習Django或GAE。

+1

@Ikai Lan - 感謝您的輸入! (+1)。那麼,爲什麼人們真的有興趣在GAE之上使用django,如果有太多的東西沒有用呢? (我的意思是:使用它的優勢是什麼?) – mac 2010-03-02 20:09:20

+0

有幾個: - Django具有比Webapp更強大的URL路由方案 - Django表單很好 - 國際化 - 我相當確定webapp/templates沒有處理開箱即用的本地化 那些是我能夠從頭頂開始想到的。 – 2010-03-03 19:32:44

+0

@mac如果你已經爲Django編寫了幾萬行代碼,將Django移植到應用引擎(包括所有問題)比將應用直接移植到其他框架更容易。我認爲在應用引擎上用Django開始一個新項目並不是一個好主意。但是對於傳統項目,它可能會讓你擺脫一系列的運營問題。 – max 2010-10-24 08:31:04