私はpythonを何年も使用していますが、python Webプログラミングの経験はほとんどありません。社内で使用する既存のpythonスクリプトからいくつかの機能を公開する非常にシンプルなWebサービスを作成したいと思います。結果をcsvで返す可能性があります。何かを起こす最も速い方法は何ですか?それがあなたの提案に影響するなら、私はこれからもっと機能を追加するでしょう。
werkzeug をご覧ください。 Werkzeugは、WSGIアプリケーション用のさまざまなユーティリティの単純なコレクションとして始まり、最も高度なWSGIユーティリティモジュールの1つになりました。強力なデバッガー、フル機能のリクエストおよびレスポンスオブジェクト、エンティティタグを処理するHTTPユーティリティ、キャッシュコントロールヘッダー、HTTP日付、Cookie処理、ファイルのアップロード、強力なURLルーティングシステム、コミュニティが提供する多数のアドオンモジュールが含まれます。
Httpで動作する多くのクールなツールが含まれており、異なる環境のwsgi(cgi、fcgi、Apache/mod_wsgi、またはデバッグ用の単純なpythonサーバー)で使用できるという利点があります。
web.py は、おそらく最も単純なWebフレームワークです。 「Bare」CGIはよりシンプルですが、実際に何かを行うサービスを作成することになると、完全に自分でやることができます。
"こんにちは世界!" web.pyによると、裸のCGIバージョンよりも長くはありませんが、URLマッピング、HTTPコマンドの区別、クエリパラメータの解析を無料で追加します :
import web
urls = (
'/(.*)', 'hello'
)
app = web.application(urls, globals())
class hello:
def GET(self, name):
if not name:
name = 'world'
return 'Hello, ' + name + '!'
if __== "__main__":
app.run()
Pythonスクリプトをオンラインで取得する最も簡単な方法は、CGIを使用することです。
#!/usr/bin/python
print "Content-type: text/html"
print
print "<p>Hello world.</p>"
WebサーバーのCGIディレクトリにあるスクリプトにそのコードを入れ、実行可能にし、実行します。 cgi
モジュールには、ユーザーからパラメーターを受け入れる必要がある場合に役立つ多くのユーティリティがあります。
生のCGIは一種の苦痛であり、Djangoは一種のヘビーウェイトです。いくつかのよりシンプルで軽いフレームワークがあります。 CherryPy 。少し調べてみる価値があります。
WSGIリファレンス実装 を見てください。既にPythonライブラリにあります。とても簡単です。
「Webサービス」を使用する場合、他のプログラムからアクセスされるもの SimpleXMLRPCServer が適切かもしれません。バージョン2.2以降のすべてのPythonインストールに含まれています。
人間がアクセスできるシンプルなものの場合、私は通常、Python SimpleHTTPServer を使用します。これもすべてのインストールに付属しています。もちろん、クライアントプログラムからSimpleHTTPServerにアクセスすることもできます。
優れたWebフレームワークがあれば、人生は簡単です。 Django のWebサービスは簡単です。モデルを定義し、CSVドキュメントを返すビュー関数を作成します。テンプレートをスキップします。
SOAP/WSDLの意味で「Webサービス」を意味する場合、 PythonおよびSOAPpyを使用したWSDLの生成