-2

私は、PythonとHTMLおよびCSSを備えたGoogle App Engineを使用してWebアプリを構築しています。また、同じような目的を持ちますが、すべてが多少異なるページを作成したいと考えています。たくさんのページを作成できるハンドラーをいくつか持つ方法はありますか、それともページごとにPythonで異なるクラスが必要ですか?

この質問はページのコンテキストがないとやや曖昧ですが、まったく新しいハンドラーとHTMLをコーディングせずに複数のページを作成する方法に関する情報は非常に役立ちます。

4

3 に答える 3

1

いいえ、ページごとに異なるクラスは必要ありません。

すべてのリクエストを単一のスクリプトにリダイレクトできます。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()
于 2012-06-19T18:48:11.130 に答える
0

何をしようとしているかによって異なりますが、webappまたはwebapp2を使用している場合は、1つのハンドラーを使用できます。Requestパラメーターのurlフィールドをチェックして、ユーザーが要求しているページを確認します。

于 2012-06-19T18:46:29.400 に答える
0

使用しているフレームワーク(あるとしても)によって異なりますが、探しているのはテンプレートシステムです。これがフレームワークとテンプレートシステムの良いリストです。

于 2012-06-19T18:44:05.187 に答える