Werkzeugで遊ぼう! - とりあえず編
ザインに入信したので次はWerkzeugだ!
Werkzeugは小気味の良いWSGIのユーティリティ集で、やはりpocooタンが開発している。pocooタンかわいいよpocooタン
C#よりC++, MFCよりWTL, apacheよりnginxな男はDjangoよりWerkzeugを選ぶのである。
前置きはおいといて、まず開発支援系の機能から試していくことに。
run_simple
werkzeugのHTTPサーバを使った最小コードはこんな感じかしら。手元でテストする分には十分げ
wz_first.py
#! -*- coding:utf-8 -*-
from werkzeug import run_simple
class WSGIApplication(object):
def __call__(self, environ, start_response):
writer = start_response('200 OK', [('Content-Type', 'text/plain; charset=utf-8')])
return ['Hello', 'הלו', 'こんにちわ']
def main():
run_simple('localhost', 8080, WSGIApplication(), use_reloader=True)
if __name__ == '__main__':
main()
use_reloader=Trueにすると、forkして、コードに変更がありしだい子プロセスを立ち上げなおす。
スクリプト
wekrzeug.scriptを使うと、コマンドラインからいろいろ出来る!
def main()
from werkzeug import script
action_runserver = script.make_runserver(WSGIApplication, use_reloader=True)
action_shell = script.make_shell(lambda: {'app': WSGIApplication})
script.run()
コマンドラインから、script.run()を呼び出したフレームのaction_xxxを呼び出せる。
例えば、$ python wz_first.py runserverすると、action_runserverさんが呼び出される。
ワースゴイヤ!