×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。



Pylons 0.9.7 rc4での変更点のメモ書き



意図せずPylons 0.9.7 rc4をインストールしてしまったのですが、
せっかくなので変更点を見てみようと思います。

0.9.6.2と0.9.7rc4で、


#paster create -t pylons test
#paster controller page


を実行したときのファイルの差を見てみます。


一番驚いた&感動したのは0.9.7だと


#paster create -t pylons test
Enter template_engine (mako/genshi/jinja/etc: Template language) ['mako']:
Enter sqlalchemy (True/False: Include SQLAlchemy 0.4 configuration) [False]: True
Enter google_app_engine (True/False: Setup default appropriate for Google App Engine) [False]:


create時にテンプレートエンジンやSQLAlchemyを使うか選べる模様。
SQLAlchemyを使うとき、ファイルを書き換えるのが面倒だったので、
個人的にこの機能は非常にうれしい。


軽くファイル構成を眺めてみた感じだと
・ez_setup.pyが同梱されるようになった。
・config/deployment.ini_tmplというファイルが増えている。
・controllers/template.pyがなくなっている。
・model/meta.pyが追加されている。


さすがにファイル構成が大きく変更されるということはないようです。


まずはまったことは、私は

Linuxサーバに環境を構築。
Windowsで作成したファイルをアップ、もしくはsambaでpylonsのフォルダを公開して直接変更。
Linuxサーバでpaster serveを実行し、Windowsから確認。

という開発スタイルを取っています。


0.9.6のdevelopment.iniでは


[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 5000


この記載が0.9.7だと


[server:main]
use = egg:Paste#http
host = 127.0.0.1
port = 5000


こう変更されており、外部から参照できない状態でした。
開発中の環境を外部から参照したい場合には、hostを
0.0.0.0等に変更してやる必要があります。



ファイルの中身を覗いてみると

■config/environment.py

config['pylons.g'] = app_globals.Globals()
これが
config['pylons.app_globals'] = app_globals.Globals()
こう変更されています。

※もちろん、他にも変更点がありますが、このファイルではこれが一番影響範囲が大きいかと。



■config/routing.py

map.connect(':controller/:action/:id')
これが
map.connect('/{controller}/{action}/{id}')
こう変更されています。

ルールの記載方法が変更になった模様。



■lib/base.py

return WSGIController.__call__(self, environ, start_response)
これが
try:
  return WSGIController.__call__(self, environ, start_response)
finally:
  meta.Session.remove()
こう変更されています。

チュートリアルでも変更するよう書いてある箇所なので、
納得の変更かと思います。



■lib/helpers.py

from webhelpers import *
これが
# Import helpers as desired, or define your own, ie:
# from webhelpers.html.tags import checkbox, password
こう変更されています。

要するに何もimportされなくなりました。
使用するヘルパーは明示的に指定する必要がありますね。



■mode/meta.py

sqlalchemyのMetaDataやSessionが宣言されています。
今後はここにまとめて書きなさいということでしょうか。



ざっと眺めると、このような変更点があります。

うーん。いつ乗り換えるか悩みどころ。




もどる