【问题标题】:mystery "welcome" app from web2py on google app engine谷歌应用引擎上来自 web2py 的神秘“欢迎”应用
【发布时间】:2014-01-29 20:16:15
【问题描述】:

我第一次在谷歌应用引擎上部署一个应用。

似乎成功了,但是当我转到我的应用程序 url 时,我会从默认安装定向到传统的“欢迎”页面。

我没有“欢迎”应用。我的 routes.py 文件中没有列出任何关于“欢迎”的内容。

那么为什么我会被定向到 myURL/welcome/default/index 呢?

如果没有“无效请求”错误,我什至无法输入我知道我想访问的直接 url。

这也只会在我从 appspot.com 上传和运行时发生,当我使用本地开发引擎时一切正常。

【问题讨论】:

    标签: google-app-engine web2py


    【解决方案1】:

    根据dispatching规则,如果你去一个URL没有指定一个应用程序,它将默认为init应用程序,如果没有找到,它会寻找welcome应用程序。此外,如果您在部署时使用标准的app.example.yaml 配置文件,那么welcome 应用程序将包含在您的部署中(参见本书的GAE deployment 部分)。

    【讨论】:

    • 我明白了。我已经从我的 app.yaml 中删除了它,所以我对它的来源感到非常困惑。仍然没有向我解释为什么我在本地测试时没有问题,但是一旦上传就会失败。我可能会期待我的数据库错误或其他东西,但不仅仅是加载静态页面。
    • 我感到困惑的是,在 GAE 部署中它说将生成一个 index.yaml 文件。但我不认为会发生这种情况。即使是,它也会被列在要跳过的项目中。那么 GAE 究竟是如何利用它的呢?
    • 您能否展示您用于从 app.yaml 文件中删除 welcome 应用程序的代码?在本地和 GAE 上,您使用什么 URL 来访问您的应用程序?
    • 关于 index.yaml 文件,您是否使用 GAE 应用服务器在本地运行应用程序?注意,app.yaml 文件中排除了 index.yaml,因为配置文件是单独发送到服务器的(参见here)。
    • 对不起,我说错了。我的意思是我已经删除了欢迎应用程序。我没有更改 app.yaml 文件来排除它。
    【解决方案2】:

    答案不多,因为我仍然不知道路由是如何发生的,但是我在 2 个位置有 web2py 应用程序。在我的本地机器和网络托管服务器上。我一直在将版本从托管服务器上传到 GAE。这个失败了。当我从本地机器上传一个时,事情就开始起作用了。

    所以我一定是在我找不到的两者之间存在差异。

    【讨论】:

      【解决方案3】:

      您必须调用您的应用程序:“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.

      你必须小心内部链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        • 2011-05-06
        相关资源
        最近更新 更多