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

Werkzeug初見

Python

Werkzeug(ヴェルクツォィグ)は、最近話題?のPythonのWebフレームワーク。Werkzeugはドイツ語で「工具・道具」の意。Python好き、ドイツ好きの人間には見逃せないフレームワーク

インストール

Werkzeug本体のインストールは、

$ sudo easy_install Werkzeug

その他に、テンプレートエンジンとしてJinja、ORMとしてSQLAlchemyがいるっぽいので、

$ sudo easy_install Jinja
$ sudo easy_install SQLAlchemy

感想

僕もまだそんなに研究していないので、公式のチュートリアル通りにやっていけば、とりあえず雰囲気は掴めるよ、としか言いようがない。

とりあえず、ざっとチュートリアルを眺めて分かったこと。

  • django-admin.py startprojectに相当するプロジェクトをスタートするスクリプトがないらしい。
  • Djangoテンプレート互換のJinjaをテンプレートエンジンとして使っているので、テンプレートの部分はDjangoっぽい。
  • モジュール構成はかなりDjangoっぽい。
  • ただ、ルーティングだけはTurboGears/Pylonsっぽい。

例えば、URLモデルの詳細を表示するページのコードは次のようになる。該当するモデルがオブジェクトが見つからなかった場合だけNotFound例外(DjangoならばHttp404)を送出するところとかがDjangoっぽいし、exposeデコレータを使うところがTurboGearsっぽい。

@expose('/display/<uid>')
def display(request, uid):
    url = URL.query.get(uid)
    if not url:
        raise NotFound()
    return render_template('display.html', url=url)

しばらく前からPython関連のブログで目にするようになり、いつの間にか0.1から0.2になっているので、わりと活発に開発が行われている模様。ただ、個人的には、「それDjangoでできるよ?」という感想が拭えないので、しばらく傍観したい。