高性能 Web サーバー フレームワーク Tornado は、Restful インターフェイスと開発例をシンプルに実装します。
友人から tornado フレームワークの開発を依頼されました。正直に言うと、私はこのフレームワークをあまり使用しません。 。 。
運用と保守の研究開発に関連した私自身の例をいくつか紹介します。
Tornado のインストール方法は誰もが知っていると思います。
pip install tornado
公式 Web サイトで紹介されているモジュールのいくつかについて話しましょう。私の理解も含めて、長々と繰り返します。
メインモジュール
web - FriendFeed で使用される基本的な Web フレームワーク。Tornado の重要な機能のほとんどが含まれています。
エスケープ - XHTML、JSON、URL エンコード/デコード メソッド
データベース - 使いやすくするための MySQLdb の単純なカプセル化。これは ORM です。
template - jinja2
に似た、Python ベースの Web テンプレート システム
httpclient - ノンブロッキング HTTP クライアント。Web および httpserver で動作するように設計されています。これは、urllib2
を追加するのと似ています。
auth - サードパーティ認証の実装 (Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth を含む)
locale - ローカリゼーションと翻訳のサポート
オプション - コマンドラインおよび設定ファイル解析ツール。サーバー環境に最適化され、パラメータを受け入れます
基礎となるモジュール
httpserver - Web モジュールを提供する非常に単純な HTTP サーバーの実装
iostream - 一般的な読み取りおよび書き込み操作を容易にする非ブロッキング ソケットの単純なカプセル化
ioloop - コア I/O ループ
Tornado がリクエストをどのように受け入れるかについて話しましょう:
入手方法について
class MainHandler(tornado.web.RequestHandler): def get(self): self.write("You requested the main page") class niubi(tornado.web.RequestHandler): def get(self, story_id): self.write("xiaorui.cc niubi'id is " + story_id) application = tornado.web.Application([ (r"/", MainHandler), (r"/niubi/([0-9]+)", niubi), ])
このように、/niubi/123123123 にアクセスすると、niubi クラスとその中の get パラメータが使用されます。
投稿方法について
class MainHandler(tornado.web.RequestHandler): def get(self): self.write('<html><body><form action="/" method="post">' '<input type="text" name="message">' '<input type="submit" value="Submit">' '</form></body></html>') def post(self): self.set_header("Content-Type", "text/plain") self.write("xiaorui.cc and " + self.get_argument("message"))
tornado では、一般に get と post は同じアクセス ルートにあり、メソッドが異なるだけで区別されます。
ナンセンスはこれくらいにして、取得と投稿をテストしてみましょう。
import tornado.ioloop import tornado.web import json class hello(tornado.web.RequestHandler): def get(self): self.write('Hello,xiaorui.cc') class add(tornado.web.RequestHandler): def post(self): res = Add(json.loads(self.request.body)) self.write(json.dumps(res)) def Add(input): sum = input['num1'] + input['num2'] result = {} result['sum'] = sum return result application = tornado.web.Application([ (r"/", hello), (r"/add", add), ]) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
#フォーム テストを作成することも、curl -d を使用してテストすることもできます

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Buffalo は、Golang を使用して開発された Web フレームワークで、Web アプリケーションを迅速に開発するためのソリューションを提供します。この記事では、Buffaloを使ってWebアプリケーションを構築する方法を紹介します。 Buffalo のインストール まず、Buffalo をローカルにインストールする必要があります。 Buffalo は、アプリケーションを構築して実行できる便利なコマンド ライン ツールを提供します。インストールする前に、Golang と Node.js がインストールされていることを確認してください。ラン

この記事では、Nodejs Web フレームワーク Fastify を紹介します。Fastify でサポートされている機能、Fastify でサポートされているプラグイン、および Fastify の使用方法を簡単に紹介します。皆様のお役に立てれば幸いです。

Web 開発の需要が増加し続けるにつれて、さまざまな言語の Web フレームワークが徐々に多様化しており、Go 言語も例外ではありません。 Go 言語の多数の Web フレームワークの中で、gin、echo、iris は最も人気のある 3 つのフレームワークです。この記事では、プロジェクトに適切なフレームワークを選択できるように、これら 3 つのフレームワークの長所と短所を比較します。 Gingin は、高いパフォーマンスと柔軟性を特徴とする軽量の Web フレームワークです。ミドルウェアとルーティング機能をサポートしているため、RESTful な構築に最適です。

Web フレームワークは、最新の Web アプリケーション開発に不可欠な部分となっており、開発者がアプリケーションをより迅速に作成してデプロイできるインフラストラクチャを提供します。 PHP 開発において、Slim は使いやすさと迅速な開発で知られる軽量の Web フレームワークです。この記事では、PHP と Slim を使用して、シンプルだが強力な Web アプリケーションを作成する方法を説明します。スリムとは何ですか? Slim は、PHP 言語で書かれた軽量の Web フレームワークです。

エラーの原因は Python にあり、Tornado で NotImplementedError() がスローされるのは、抽象メソッドまたはインターフェイスが実装されていないことが原因である可能性があります。これらのメソッドまたはインターフェイスは親クラスで宣言されますが、子クラスでは実装されません。サブクラスが適切に動作するには、これらのメソッドまたはインターフェイスを実装する必要があります。この問題を解決するには、親クラスで宣言した抽象メソッドやインターフェイスを子クラスに実装します。別のクラスから継承するクラスを使用していてこのエラーが発生した場合は、親クラスで宣言されたすべての抽象メソッドを子クラスに実装する必要があります。インターフェイスを使用していてこのエラーが発生した場合は、インターフェイスで宣言されているすべてのメソッドを、インターフェイスを実装するクラスに実装する必要があります。どちらかわからない場合は、

Go 言語は近年、Web 開発の分野でますます人気が高まっています。パフォーマンスと同時実行特性が優れており、同時実行性の高い Web リクエストの処理に非常に適している一方で、開発効率が徐々に向上し、Web フレームワークや開発ツールが続々とリリースされています。この記事ではGo言語でのWebフレームワークやWebサービスの開発に関連した内容を中心に紹介します。 Web 開発の初心者でも、ある程度の経験のある開発者でも、この記事を通じて Go 言語での Web 開発の関連知識とテクニックを学ぶことができます。

インターネット技術の発展と普及に伴い、Web アプリケーションの需要はますます増大しており、Web アプリケーションを迅速かつ効率的に構築することが開発者にとって緊急のニーズとなっています。 Golang の動的な特性、効率的な実行機能、豊富な Web フレームワークは、多くの開発者にとって最初の選択肢となっています。多くの Golang Web フレームワークの中でも、beego は高速、簡潔、効率的で使いやすい Web フレームワークです。Go のネイティブ HTTP パッケージに依存し、RESTful サポート、MVC モードを備え、ORM と

API ゲートウェイは、API (アプリケーション プログラミング インターフェイス) リクエストの管理とルーティングに使用されるネットワーク サービスです。これは、クライアントのリクエストを受信し、バックエンド サービスに転送する仲介者です。 API ゲートウェイの利点は、複数のサービスに一貫したインターフェイスを提供し、セキュリティや監視などの機能を提供できることです。この記事では、Golang の Web フレームワーク Iris フレームワークを使用して API ゲートウェイを実装します。 Iris フレームワークは、シンプル、高速、拡張性、保守性が容易になるように設計された高性能 Web フレームワークです。アイリスボックス
