2010-07-26 85 views
6

我是GAE的新手,我正在使用webapp框架創建應用程序。我想知道你什麼時候在你的app.yaml中設置了處理程序,並且當你在WSGI中定義它們時?Google App Engine:處理程序和WSGI網址

起初我以爲你只有一個運行WSGIApplication的main.py主文件,但我注意到如果你想使用GAE授權,你在處理程序中定義了它。那意味着你運行多個WSGIA應用程序?

我正在閱讀「需要登錄或管理員狀態」的文檔,看起來他們對不同的角色有不同的應用程序。

也許這樣?

- general.py - 登錄:
- user.py - 登錄:需要
- admin.py: - 登錄:admin

但也許它的壞讓你的WSGI網址傳遍在那個地方?

如果我沒有記錯,如果你在GAE上運行django,你指向一個py文件並讓框架處理所有內容?

我不想使用Django,所以想知道是否有人有關於如何使用webapp做url/hanlders的一些指針/最佳實踐?

回答

9

任何一種URL路由方法都可以接受。

的app.yaml基於URL路由
如果你可以很容易地組織你的應用程序使用的app.yaml路由(和授權),那麼它是值得一試:這將是你必須調試較少的代碼,測試和維護。

這裏有多個入口點的例子(從谷歌):http://google-app-engine-samples.googlecode.com/svn/trunk/gdata_feedfetcher/

性能應符合的app.yaml授權優越:你的Python腳本不需要運行,以確定用戶是管理員網站。

一個URL映射表
如果您的應用需要一些超出基本URL路由和授權,那麼你可能會發現,具有相對稀疏的app.yaml和使用更大的URL映射表自己。

例如,您希望向所有用戶顯示一個頁面,但還需要「登錄」鏈接顯示爲管理員。 This code (for a simple blog)使用這種結構。

+0

謝謝亞當例子代碼總是很好。博客代碼將幫助我。 – Pickels 2010-07-26 18:17:07

+0

不要多個處理程序添加到應用程序的加載時間?他們必須導入相同的模塊,並且多個處理程序使用的空間大於1。 – stesch 2010-12-02 05:45:27

相關問題