2

Google App Engine で URL マッピングを複数のファイルに分割する方法はありますか?

私はこのようなものが欲しい:

from app1.controller import App1Handler
from app2.controller import App2Handler

app = webapp2.WSGIApplication([(r'/app1', App1Handler),(r'/app1', App2Handler)])

App1Handler では、次のように指定したいと思います。

(r'/action1', Action1Handler), (r'/action2', Action2Handler)

要約すると、ユーザーが/app1/action1にアクセスすると、Action1Handlerを実行する必要があります。

Django にも同様の機能があり、管理サイトの URL がメインの URL パターンに含まれています。

urlpatterns = patterns('',
    url(r'^polls/$', 'polls.views.index'),
    url(r'^admin/', include(admin.site.urls)),
)

GAE で利用できるそのような規定はありますか?

4

2 に答える 2

1

app.yamlを使用して、@ user375348で説明されていることを実行できます。そうでない場合は、独自に作成する必要があります。webapp2のドキュメントには、ほとんどまっすぐに使用できる単純なルーターがあります。

http://webapp-improved.appspot.com/guide/handlers.html

于 2012-07-28T15:30:37.680 に答える
1

app.yaml レベルで 2 つのファイルに分割できます。

- url: /app1/.*
  script: file1.py
- url: /app2/.*
  script: file2.py

file1.py ファイルのすべての URL に /app1 を追加する必要があると思います。

app = webapp2.WSGIApplication([(r'/app1/myview', Handler),(r'/app1/myotherview', AnotherHandler)])

2 つのモジュールで同じ名前のハンドラーを使用できるため、これの方が優れていると思いますが、メイン ファイルに同じ名前の 2 つのハンドラーをインポートすると競合が発生します。

于 2012-07-28T07:44:41.470 に答える