いいえ、ページごとに異なるクラスは必要ありません。
すべてのリクエストを単一のスクリプトにリダイレクトできます。app.yaml
handlers:
- url: /.*
script: dispatcher.app
次に、dispatcher.py
すべてのリクエストを単一のRequestHandlerにリダイレクトし、そこですべてのロジックをプログラムできますjinja2
。たとえば、異なるURLに対して異なるテンプレートを動的に提供することができます。
URLマッピングのドキュメントでは、複数のURLを1つのRequestHandlerにリダイレクトする方法について説明しています。例えば:
class BrowseHandler(webapp.RequestHandler):
def get(self, category, product_id):
# Display product with given ID in the given category.
# Map URLs like /browse/(category)/(product_id) to BrowseHandler.
application = webapp.WSGIApplication([(r'/browse/(.*)/(.*)', BrowseHandler)
],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == '__main__':
main()