ホームページ バックエンド開発 Python チュートリアル 高性能 Web サーバー フレームワーク Tornado は、Restful インターフェイスと開発例をシンプルに実装します。

高性能 Web サーバー フレームワーク Tornado は、Restful インターフェイスと開発例をシンプルに実装します。

Jun 16, 2016 am 08:43 AM
tornado ウェブフレームワーク

友人から 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 を使用してテストすることもできます

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Golang の Web フレームワーク Buffalo を使用して Web アプリケーションを構築する Golang の Web フレームワーク Buffalo を使用して Web アプリケーションを構築する Jun 24, 2023 am 10:27 AM

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

Nodejs Web フレームワークを共有する: Fastify Nodejs Web フレームワークを共有する: Fastify Aug 04, 2022 pm 09:23 PM

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

Go 言語 Web フレームワークの比較: gin vs. echo vs. iris Go 言語 Web フレームワークの比較: gin vs. echo vs. iris Jun 17, 2023 pm 07:44 PM

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

PHP と Slim を使用して軽量の Web フレームワークを実装する方法 PHP と Slim を使用して軽量の Web フレームワークを実装する方法 Jun 25, 2023 pm 01:03 PM

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

NotImplementedError() の解決策 NotImplementedError() の解決策 Mar 01, 2024 pm 03:10 PM

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

Go言語によるWebフレームワークとWebサービスの開発 Go言語によるWebフレームワークとWebサービスの開発 Jun 03, 2023 am 08:02 AM

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

Golang の Web フレームワーク beego を使用して Web アプリケーションを迅速に構築する Golang の Web フレームワーク beego を使用して Web アプリケーションを迅速に構築する Jun 24, 2023 am 11:22 AM

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

GolangのWebフレームワークIrisフレームワークを使用したAPIゲートウェイの実装 GolangのWebフレームワークIrisフレームワークを使用したAPIゲートウェイの実装 Jun 24, 2023 am 11:24 AM

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

See all articles