2011年5月27日金曜日

DebugToolbarをFlaskにも

Flaskいいよー。Flask。
extensionsもガンガン増えてかなり色々なことができるようになりました。

今日のネタはDebugToolbarです。
ちょっとハマったりしたのでそのメモがわりに。
DebugToolbarはDjangoのextensionでもあるものらしく、
レスポンスタイムとかログとかHttpHeaderとか見れるすぐれもの。

Flaskでも使えるとなれば(Djangoでは使ったこと無いけど)これは試してみるしか

いつものようにeasy_install なり pipなりでflask-debugtoolbarをインストールしたらええやないか。

実行する最小セットは下記の通り。

from flask import Flask
#DebugToolbarをインポート
from flaskext.debugtoolbar import DebugToolbarExtension

app = Flask(__name__)
#パネルを登録
app.config['DEBUG_TB_PANELS'] = (
    'flaskext.debugtoolbar.panels.headers.HeaderDebugPanel',
    'flaskext.debugtoolbar.panels.logger.LoggingPanel',
    'flaskext.debugtoolbar.panels.timer.TimerDebugPanel',
)
#Debug用のシークレットキーを追加、デバッグモードON
app.config['SECRET_KEY'] = 'asd'
app.config['DEBUG'] = True

toolbar = DebugToolbarExtension(app)

@app.route('/')
def test():
    app.logger.info("hello")
    return ""

if __name__ == "__main__":
    app.run()

これでローカルホストからは右にデバッグ用の怪しいボタンが出てくるので、
押すと色々なデバッグ情報が見れるようになる。
自分の環境ではflaskがurl_ruleっていう関数がねーみたいなエラーがでたので、
flaskを最新版(0.7)に換えたらOKでした。

こういうのが増えてくると開発しやすくなりますねー。

0 件のコメント:

コメントを投稿