2012-10-02 32 views
1

我這樣做是按照Custom Error Responses - app.yaml中與如果超過配額,如何顯示單獨的頁面?

error_handlers: 
- error_code: over_quota 
    file: templates/over_quota.html 

更新,並根據創建文件。但仍顯示錯誤(例外)而不是該頁面。我試圖把文件放在根文件夾中(根據app.yaml更新) - 它沒有幫助。

我在做什麼錯?

Upd。我按照@Gwyn Howell的評論以下列方式定義了這一點。

handlers: 
- url: /over_quota.html 
    static_files: templates/over_quota.html 
    upload: templates/over_quota.html 

error_handlers: 
- error_code: over_quota 
    file: over_quota.html 

但是(1)如何測試它,(2)哪個url用戶將在結果中看到? http://www.example.com/over_quota.html還是會原創的網址?

+0

你有沒有將templates/over_quota.html映射到app.yaml中的頁面處理程序?如果您轉到/templates/over_quota.html,會發生什麼情況? –

+0

@GwynHowell,謝謝你的幫助。如果我轉到/templates/over_quota.html,該頁面不會顯示。我還沒有定義頁面處理程序。它應該是什麼樣子?我正在閱讀https://developers.google.com/appengine/docs/python/config/appconfig#Static_File_Pattern_Handlers,但它對我沒有幫助。用戶將會看到什麼?將它是原始的網址或其他? –

+0

@GwynHowell,請發表您的評論作爲答案。我也更新了這個問題。 –

回答

2

您將查看特定的配額,例如數據存儲操作,這會引發異常,但不會超過您的實例小時配額。僅當App Engine由於缺乏配額而無法向實例發送請求時,纔會顯示超配額錯誤消息;如果請求被髮送到您的應用程序,但您嘗試執行超出可用配額的操作,則視您的情況而定,由您來處理該異常。

+0

噢,對於我來說,從自定義錯誤響應描述中我不太清楚... –

+1

@LA_一個很好的經驗法則是,App Engine一旦向其中一個實例發送請求,就不會提供自己的響應。這就是爲什麼404處理程序不處理由應用程序路由導致的404s的原因。 –

+0

@NickJohnson這是否意味着,如果我發送所有的URL(。*)到腳本,那麼我將不得不在腳本本身中處理404錯誤? – abel

相關問題