-1

Google App Engine に近づいています。ハンドラーをいくつか実装したいのですが、「おっと! このリンクは壊れているようです」というメッセージが表示されます。それぞれのエラー:

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app


class MainPage(webapp.RequestHandler):


    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')


application = webapp.WSGIApplication([('/', MainPage)], debug=True)


def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

単純な印刷機能 (つまり、print "2gf") を使用すると、すべてが完全に機能します。これは私の app.yaml ファイルです:

application: sample-app
version: 1
runtime: python
api_version: 1

handlers:
- url: /aaa/aaa
  script: helloworld.py

- url: /bbb/bbb
  script: helloworld2.py

提案?

4

2 に答える 2

3

あなたのコードは古く、yaml ファイルは python スクリプト/アプリを間違った URL に向けています。以下のコードを試してください。

import webapp2

class HomePageHandler(webapp2.RequestHandler):
def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.write('Hello appengine!')

app = webapp2.WSGIApplication([('/', MainPage)],
                                   debug=True)

app.yaml ファイルには、次のような内容が含まれている必要があります。

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
script: helloworld.py

また、次のApp Engine python チュートリアルも参照してください。App Engine のコーディングの主な概念を非常によく説明しています。始めたばかりの頃は大変お世話になりました。

于 2012-12-25T23:43:48.073 に答える
0

あなたのapp.yamlには、 へのルーティング指示がありません/。したがって、YAML に既に含まれている URL のいずれとも一致しない URL にヒットすると、アプリは何をすべきかわからず、そのエラーを表示します。これを修正するには、 で指定されていないものに対して「デフォルト」ハンドラーを提供する必要がありますapp.yaml。@Tkingovr (彼に +1) が述べたように、デフォルト ( /.*) をスクリプトにポイントする必要があります。そのハンドラーをあなたの一番下に追加し、app.yamlそれをメインスクリプトに向けます。ただし、@Tkingovrに同意します-今すぐ2.7に切り替えると(最初に学習するとき)、長期的には物事が簡単になります:)

于 2012-12-26T00:20:56.443 に答える