Google App Engine 的項目結構

| | | | | | | | | | | | | | | | | | | |

我在 Google App Engine 推出時就在它中啟動了一個應用程序,以使用該技術並從事一個我想了很長時間但一直沒有開始的寵物項目。結果是 BowlSK。然而,隨著它的發展和功能的增加,讓事情井井有條變得非常困難——主要是因為這是我的第一個 python 項目,在我開始工作之前我對它一無所知。

我所擁有的:

  • 主級別包含:
    • 所有 .py 文件(不知道如何使包工作)
    • 主頁面的所有.html模板
  • 子目錄:
    • css、圖片、js等的單獨文件夾
    • 包含子目錄類型 url 的 .html 模板的文件夾

示例:
http://www.bowlsk.com/ 映射到主頁(默認包),模板位於“index.html”
http://www.bowlsk.com/games/view-series.html?series=7130 映射到 ViewSeriesPage(同樣,默認包),模板位於“games/view-series.html”

它很討厭。我該怎麼做重組?我有 2 個想法:

  • 主文件夾包含:appdef、索引、main.py?

    • 代碼的子文件夾。這必須是我的第一個包嗎?
    • 模板的子文件夾。文件夾層次結構將匹配包層次結構
    • css、圖像、js 等的各個子文件夾
  • 包含 appdef、索引、main 的主文件夾.py?

    • 代碼+模板的子文件夾。這樣我在模板旁邊就有了處理程序類,因為在這個階段,我添加了很多特性,所以對一個的修改意味著對另一個的修改。同樣,我必須讓這個文件夾名稱成為第一個包我的課程名稱?我希望文件夾為“src”,但我不希望我的課程為“src.WhateverPage”

有最佳實踐嗎?隨著 Django 1.0 的出現,當它成為官方 GAE 模板引擎時,我現在可以做些什麼來提高我與它集成的能力?我會開始嘗試這些東西,看看哪個看起來更好,但 pyDev 的重構支持似乎不能很好地處理包移動,因此讓所有這些再次工作可能不是一件容易的事。