読者です 読者をやめる 読者になる 読者になる

WerkzuegのDebuggerは凄い!

Django Werkzeug

まあ、Pylonsのトレースバックは凄い訳ですが、Pylonsなど、今となってはWerkzeugのセンスの良さの前には霞んでしまう存在かな。

werkzeug.DebuggedApplicationを使えば、任意のWSGIアプリケーションにおいて、例外発生時にスタックトレースを調べることができる。

例えば、Djangoならば、

上記のページに書いてある通り、

#!/usr/bin/env python
# django-run-debugged.py
from werkzeug import run_simple, DebuggedApplication
from django.core.handlers.wsgi import WSGIHandler

# This is only needed for Django versions < [7537]:
def null_technical_500_response(request, exc_type, exc_value, tb):
    raise exc_type, exc_value, tb
from django.views import debug
debug.technical_500_response = null_technical_500_response

if __name__ == '__main__':
    run_simple('localhost', 8000, DebuggedApplication(WSGIHandler(), True))

のようなスクリプトをdjango-run-debugged.pyとして用意して、環境変数DJANGO_SETTINGS_MODULEを設定した上で、スクリプトを実行。

$ export DJANGO_SETTINGS_MODULE=yourapp.settings
$ python django-run-debugged.py

DjangoでもPylons/Werkzeugのデバッガと同等のことをできるようにしたライブラリが他にもあったような気がするが、今となってはそれを調べなおす気も起こらない。「任意のWSGIアプリケーション」でっていうところは非常に大きい。


Werkzeugは、いろいろ気が利いているところが多い。個人的には、PythonのWebアプリケーションフレームワーク・ライブラリとしては、既にDjangoと同等の存在。

あと、Werkzeugの発音は、前にも書いたけど、ヴェルクツォィグな。

Werkzeug←発音がわからん

http://wassr.jp/user/mopemope/statuses/3PemH3mgjI

Armin Ronacherのプロフィールを見れば、これほどのクオリティーのものを書けるというのは納得できるけど、last.fmのプロフィールにある通り本当に19歳ならば、僕もこんな若造に負けないように頑張らないといけないという気になるね!