注文の多いしゃけ。

しゃけです。

WSGIを使用したウェブアプリケーション1[python]

お久しぶりです。

世間はすっかりGWだということで、時間もできたし少しPythonを再び書き始めました。

今回は、Webアプリケーションとサーバー間のインターフェースをPythonで定義した

WSGI(Web Server Gateway Interface)を勉強したのでメモ。

[リンク] Web Server Gateway Interface - Wikipedia

 

まずは超基本

gistaf2a9b9ebcb5d19b290fe339e900e2a9

statusとheaderを定義して返却するapplicationを定義して、8080ポートで待機するWSGIサーバーを作成しました。

 

次はhtmlを表示します。

 

gist0bfccba1ff92f4535e626fc96ab0949a

 

headerを修正して、application内でhtmlを返却してあげればok 

ちなみに返却する際にリストを返却している理由は、WSGIの規約として「返り値はリスト型でなければならない」とされているからです。

(※str型でもエラーにはなりませんが、WSGI内部でstr型を一文字づつのリスト化されるそうです。)

 

urlparse ライブラリを使用すれば、クエリパラメタも取得可能です。

20.16. urlparse — URL を解析して構成要素にする — Python 2.7.13 ドキュメント

 

gist3a082ab0be38eb70c27a228082f56e2d

 

年月日のurlクエリパラメタを与えると、その日の曜日を出力するアプリケーションです。

以下のようなurlに対して曜日を表示してくれます。

http://localhost:8080/?year=12&month=5&day=10

f:id:p_p__p_p:20170503030037p:plain

 とりあえずここまで。

 

話は変わるけど、gitHubにあげたcommitをgistとしてはてブロに紹介する手段はないのか知らん。