2013-02-09 41 views
1

我第一次在谷歌應用程序引擎上部署應用程序。谷歌應用引擎web2py上的神祕「歡迎」應用程序

它似乎已經成功,但是當我去我的應用程序url我指向傳統的「歡迎」頁面從默認安裝。

我沒有「歡迎」應用程序。我的routes.py文件中沒有列出「welcome」。

那麼爲什麼我指向myURL/welcome/default/index?

我甚至無法輸入直接的url,我知道我想訪問而沒有「無效請求」錯誤。

這也只發生在我上傳並從appspot.com運行時,當我使用本地開發引擎的事情都很好。

回答

2

按照dispatching規則,如果你去一個URL沒有指定的應用程序,它會默認爲init應用程序,如果沒有找到,它就會查找welcome應用。此外,如果您在部署時使用標準app.example.yaml配置文件,則welcome應用程序將包含在您的部署中(請參閱本書的GAE deployment部分)。

+0

我看到了。我從我的app.yaml中刪除了它,所以我很困惑它是從哪裏來的。儘管如此,我仍然沒有向我解釋爲什麼當我在本地測試時我沒有問題,但是一旦它上傳,就會失敗。我可能會期望在我的結尾或某事上發生數據庫錯誤,但不是簡單地加載靜態頁面。 – 2013-02-09 05:43:20

+0

我對我感到困惑的事情是,在GAE部署中,它表示將生成一個index.yaml文件。但我沒有看到發生。即使是這樣,它也被列入跳過的項目中。那麼GAE究竟如何使用它呢? – 2013-02-09 06:10:08

+0

你可以顯示你用來從app.yaml文件中刪除'welcome'應用程序的代碼嗎?在本地和GAE上,你使用什麼URL訪問你的應用程序? – Anthony 2013-02-09 14:02:06

0

沒有太多的答案,因爲我仍然不知道如何發生路由,但我有2個位置的web2py應用程序。在我的本地機器和網絡託管服務器上。我一直在從託管服務器上傳版本到GAE。這個失敗了。當我從本地機器上傳一個東西開始工作。

所以我一定有一個差距之間的兩個我找不到。

0

您必須調用您的應用程序:「init」並將其部署到GAE中。

例如,如果您開發了yourweb2pyapp,那麼您的主頁將是yourweb2pyapp/default/index,而您在GAE的主頁將是yourGAEapp.appspot.com/yourweb2pyapp/default/index

但是,如果你在你的瀏覽器中寫yourGAEapp.appspot.com你去yourGAEapp.appspot.com/welcome/default/index這就是問題所在。

最簡單的解決方案是,當您在GAE中部署應用程序時,您將調用應用程序「init」而不是yourweb2pyapp。所以,你的新主力,而默認頁面會yourGAEapp.appspot.com/init/default/index

可以包yourweb2pyapp,然後導入它作爲init.

你必須要小心的內部鏈接。