私は何年もpythonを使用していますが、python Webプログラミングの経験はほとんどありません。社内で使用するために既存のpythonスクリプトからいくつかの機能を公開する非常にシンプルなWebサービスを作成したいと思います。結果はcsvで返される可能性があります。何かを始める最も速い方法は何ですか?それがあなたの提案に影響を与えるならば、私はおそらくこれにより多くの機能を将来追加するでしょう。
私は何年もpythonを使用していますが、python Webプログラミングの経験はほとんどありません。社内で使用するために既存のpythonスクリプトからいくつかの機能を公開する非常にシンプルなWebサービスを作成したいと思います。結果はcsvで返される可能性があります。何かを始める最も速い方法は何ですか?それがあなたの提案に影響を与えるならば、私はおそらくこれにより多くの機能を将来追加するでしょう。
回答:
見ていWERKZEUGを。Werkzeugは、WSGIアプリケーション用のさまざまなユーティリティの単純なコレクションとして始まり、最も高度なWSGIユーティリティモジュールの1つになりました。これには、強力なデバッガー、フル機能の要求および応答オブジェクト、エンティティタグを処理するHTTPユーティリティ、キャッシュコントロールヘッダー、HTTP日付、Cookie処理、ファイルアップロード、強力なURLルーティングシステム、コミュニティが提供するアドオンモジュールが含まれます。
これには、httpで動作する多くのクールなツールが含まれており、さまざまな環境(cgi、fcgi、apache / mod_wsgi、またはデバッグ用の単純な単純なPythonサーバー)でwsgiを使用できるという利点があります。
web.pyはおそらく最も単純なWebフレームワークです。「ベア」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 __name__ == "__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サービス」といえば、他のProgramms SimpleXMLRPCServerがアクセスするもの が適切かもしれません。バージョン2.2以降、すべてのPythonインストールに含まれています。
人間が簡単にアクセスできるものの場合、私は通常、すべてのインストールに付属しているPython SimpleHTTPServerを使用します。もちろん、クライアントプログラムからSimpleHTTPServerにアクセスすることもできます。
SOAP / WSDLの意味で「Webサービス」を意味する場合は、 PythonとSOAPpyを使用したWSDLの生成
多分ツイステッド http://twistedmatrix.com/trac/