SQLAlchemy(+MongoDB)+Jinja2(Genshi)
この組み合わせはあるだろう。Github眺めたら実際あった。
あたしが当面やりたいことがRapidGizaで解決してる。
とおもいきや既にgithub死んでました。いい名前なのに。
PythonのWAF周辺のライブラリ名は結構好きです。ピラミッド、アルケミー、フラスコ、クフ、エリクサーなんてのもあったな。こういう妖しい単語大好き。
はい。
App/app/scripts/initializedb.py:
- from .models.models import ( + from ..models.models import (
modelをmodelsディレクトリに移動してまとめたので書き換え。
そのままルートにばらまいてる人はそのままでおk
あんま小分けにしても使いづらいのかなあ。みんなディレクトリ切って小分けにしてしまっちゃいました。
models/ lib/ scripts/ tests/ web/ templates/ views/ static/ css/ js/ img/ __init__.py const.py
こんな按配です。
ディレクトリの配置やconst.pyなどについては、shazow / pyramid_scaffolds_decoupledさんやグローバル定数@rm -rf /さんを参考にしました。
コレにともなってapp/__init__.pyの中がちょっと書き換わりますね。
config.add_static_view('static', 'web/static', cache_max_age=3600) config.scan('.web.views') # views config.scan('.lib')
Pylonsでいうところのhelperをどっかに置きたい。libを切ればいいか。
PyConJP2012で、Pyramidにはhelperない云々、WebHelperとかそういうの使ってくださいという話を聞き、にわかに情緒不安定になり、言いつつも実はPylonsっぽいhelperの使い方もします、みたいな、なんだか狐につままれたような話を聞いてきたばっかりなのであります。
h.hoge()とかしたくない?したいよねえ。
あんまり意識していなかったんですが、Pyramidっていうのはメタフレームワークなのかな。土台あるんで好きに(俺俺フレームワークを)構築してノウハウ貯めこんだりしちゃってくださいよというような。
なんかFlask意識したっぽい「1ファイルで動く代物書けちゃう!」みたいなデモはする必要ないよね。1ファイルで済むようなもの作りたければ普通Flaskとか使う。
#学習コスト云々といった理由は除く
ともあれ、構成とか落ち着いたらScaffoldの作成にも手を出してみたい。
この機能はステキだ。