6

私は python27 とアプリ エンジンの入門チュートリアルを行いました: https://developers.google.com/appengine/docs/python/gettingstartedpython27/

チュートリアルの終わりまでに、すべてのクラスは同じファイル (helloworld.py) にあり、ファイルの下部にあるクラスへの URL パスを指すようにルーターを構成します。

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

ツタンカーメンがカバーしなかったのは、アプリの成長に合わせてクラス/ファイルをどのように編成するかです。たとえば、MainPage を別のファイルに配置し、helloworld.py ファイルで「import MainPage」を呼び出して、ルートを WSGIApplication に追加しますか? これより自動化されたものはありますか?MainPage ファイルの名前と保存場所を教えてください。

4

1 に答える 1

9

アプリの起動時にすべてのハンドラーをインポートするよりも、必要に応じてモジュール/パッケージをロードするwebapp2 の遅延ハンドラー読み込みを利用することをお勧めします。
したがって、いくつかのオプションがあります。

オプション 1、モジュール内のハンドラーファイルと同じレベルの別のファイル (モジュール) に
配置します。MainPagehelloworld.py

/my_gae_app
    app.yaml
    helloworld.py
    handlers.py

そして、ルーティング (in helloworld.py) では、次のようにします。

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

オプション 2、パッケージ内のハンドラー。アプリが大きくなるにつれて、おそらく検討してください アプリが大きく
なるにつれて、ハンドラーを配置するパッケージを作成したい場合があります。

/my_gae_app
    /ハンドラ
        __init__.py
        ゲストブック.py
        main.py
    app.yaml
    helloworld.py

ルート (でhelloworld.py):

app = webapp2.WSGIApplication([('/', 'handlers.main.MainPage'),
                               ('/sign', 'handlers.guestbook.Guestbook')],
                              debug=True)
于 2012-06-24T23:36:50.457 に答える