Tornado WebサイトのPython開発用RequestHandler:アクセスポイント機能

不言
リリース: 2018-10-19 17:12:35
転載
2199 人が閲覧しました
この記事の内容は、PythonでTornado Webサイトを開発する際のアクセスポイント機能であるRequestHandlerについて書いたもので、ある程度参考になる内容ですので、困っている方は参考にしていただければ幸いです。

サブクラスが特定の動作を継承および定義する必要がある関数は、RequestHandler のエントリ ポイント関数と呼ばれます。上記の Hello World インスタンスの get() 関数は、典型的なアクセス ポイント関数です。

1. RequestHandler.initialize()

このメソッドはサブクラスによってオーバーライドされ、RequestHandler サブクラス実装の初期化プロセスを実装します。

この関数にパラメーターを渡すことができます (パラメーターは URL マッピングの構成定義から取得されます)。

例:
from tornado.web import RequestHandler,Application
import tornado.ioloop
import tornado.web

class ProfileHandler(RequestHandler):
    def initialize(self,database):
        self.database=database

    def get(self):
        return self.write(self.database)

    def post(self):
        pass

def make_app():
    return Application([
    (r"/test",ProfileHandler,dict(database="test.db",))
])

def main():
    app=make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

if __name__=="__main__":
    main()
ログイン後にコピー

ブラウザに次のように入力します: http://localhost:8888/test

ページに表示されます:

test.db
ログイン後にコピー

2、RequestHandler。 prepare()、RequestHandler.on_finish()

prepare()メソッドは、リクエスト処理(get、postなど)メソッドを呼び出す前の初期化処理に使用され、通常はリソースの初期化操作に使用されます。

on_finish() メソッドは、リクエスト処理完了後のクリーンアップ作業に使用されます。通常は、オブジェクトが占有しているメモリをクリーンアップするか、データベース接続を閉じるために使用されます。

3. HTTP アクション処理関数

各 HTTP アクションは、RequestHandler の別個の関数で個別に処理されます:

  • RequestHandler.get( *args, **kwargs)

  • RequestHandler.post(*args,**kwargs)

  • RequestHandler.head(*args,* *kwargs)

  • RequestHandler.delete(*args,**kwargs)

  • ##RequestHandler.patch(*args,**kwargs)

  • RequestHandler.put(*args,**kwargs)

  • ##RequestHandler.options(*args,**kwargs)
  • 各処理関数の名前は、HTTP アクションの小文字の名前に基づいて付けられます。

以上がTornado WebサイトのPython開発用RequestHandler:アクセスポイント機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート