2011-01-22 133 views
4

我試圖在App Engine應用程序中描述端點,並且難以混合靜態和動態內容的目錄結構。但是我的yaml規則彼此衝突。在改變我的目錄結構之前,有沒有人有建議?在app.yaml文件中混合使用靜態和動態端點

目標是創建一個包含文檔(靜態HTML文件)和實現的目錄。

/api 
    - /v1 
    - getitdone.py 
    - doc.html 
    - index.html 

我想我應該用我的應用程序YAML做...

- url: /api/v1/getitdone 
    script: api/v1/getitdone.py 

- url: /api/ 
    static_files: api/index.html 
    upload: api/index.html 

- url: /api 
    static_dir: api 

但是這將導致動態終結點失敗。我假設static_dir參考是打破它。我如何在不描述每個腳本和靜態文件引用的情況下做到這一點(我有更多的東西在這裏列出)?

+0

他們'失敗'如何?端點按順序進行評估,因此後面的聲明不應該影響先前的聲明。 – 2011-01-23 23:49:57

+0

另外,你確定這是你想要處理它嗎?直接服務.py文件是非常不尋常的。 – 2011-01-23 23:50:21

回答

1

原因是您將/api/標記爲靜態目錄,因此您的腳本將作爲靜態文件上載,這使得它們無法訪問App Engine運行時。

最簡單的解決方案是將動態代碼和靜態資源放在應用程序目錄的不同部分,並使用app.yaml將它們映射到所需的URL結構中。