「Pythonエンジニア養成読本」読書会 04 第5章 入門Webアプリケーション開発

2
TakesxiSximada @TakesxiSximada

BottleのウェブアプリはWSGIアプリケーションなのでuwsgiやgunicornの上に乗っかれる Tornadoは自前でWebサーバ持っています (WSGIアプリケーションとしてもかけなくはない...) #pymook

2015-08-27 19:52:50
TakesxiSximada @TakesxiSximada

「Pythonエンジニア養成読本ではDjangoとBottleのどちらを扱うかを迷ったんですが、DjangoはDjango固有の覚えなければならないことがたくさんあるため、よりシンプルなBottleを採用しました」 #pymook

2015-08-27 19:54:57
TakesxiSximada @TakesxiSximada

gunicornつかうことが比較的多いかなあ (sximadaは) #pymook

2015-08-27 20:02:59
TakesxiSximada @TakesxiSximada

「ORマッパーはSQLAlchemy、SQLObject、Djangoが持つORMがよく使われている印象」 #pymook

2015-08-27 20:08:29
清原弘貴 @hirokiky

#pymook sqlalchemyバージョン1でてたんだ

2015-08-27 20:10:25
TakesxiSximada @TakesxiSximada

SQLAlchemy 今は 1.0.8が最新 1.1系ももうすぐ出るらしい (ロードマップを見よう!!) #pymook

2015-08-27 20:11:28
TakesxiSximada @TakesxiSximada

「SQLAlchemyではデータ操作をするときにsession objectを使います。session objectを通してSQLを発行したりします。」 #pymook

2015-08-27 20:14:12
清原弘貴 @hirokiky

#pymook sqlalchemyはRDBが好きな人に好かれる?

2015-08-27 20:16:40
TakesxiSximada @TakesxiSximada

SQLAlchemyをORMにつかう場合にはマイグレーションにはalembicを使う #pymook

2015-08-27 20:18:09
TakesxiSximada @TakesxiSximada

サンプルの書籍管理アプリはGithubからcloneできますよー りぽじとりはこちら github.com/checkpoint/pym… #pymook

2015-08-27 20:24:18
TakesxiSximada @TakesxiSximada

github.com/checkpoint/pym… ではフォームライブラリとして WTForms を使っています。」 WTFormsはこちら wtforms.readthedocs.org/en/latest/ #pymook

2015-08-27 20:25:53
清原弘貴 @hirokiky

#pymook djangoは必要な機能は全部djangoが持ってます。

2015-08-27 20:26:06
TakesxiSximada @TakesxiSximada

急いで家に積んであるだけの書籍を書籍管理アプリで管理しよう #pymook

2015-08-27 20:28:17
TakesxiSximada @TakesxiSximada

テンプレート内はHTMLだけじゃなくてfor文とかつかえます。 {{}}で値をHTML内に埋め込めます。 form.title.labelでWTFormsで定義したフォームクラスのtitleフィールドのlabel属性を取得したりできますよ #pymook

2015-08-27 20:30:37
TakesxiSximada @TakesxiSximada

form.validate() で入力値に期待する値以外のものがformに入力されていないかどうかを検証 (validation) することができます #pymook

2015-08-27 20:32:43
TakesxiSximada @TakesxiSximada

objectのsave (session.addとcommit) が書かれていないのはリクエストが正常終了するとcommitしてくれるようになっているから #pymook

2015-08-27 20:36:24
TakesxiSximada @TakesxiSximada

WebクライアントとWebアプリのsession管理は beakerとかが使える #pymook

2015-08-27 20:40:04
TakesxiSximada @TakesxiSximada

「サードパーティライブラリをどのくみあわせはどうやってみつければいいの?」 #pymook

2015-08-27 20:42:03
清原弘貴 @hirokiky

#pymook ORMはsqlalchemy、formはwtform,deform、テンプレートはmako,jinja2あたりが有名ですかね。djangoならdjango。

2015-08-27 20:43:20
TakesxiSximada @TakesxiSximada

「Bottleとかでは若干ではあるけどこういう組み合わせが良い的なrecipeがsiteに記載されている」 bottlepy.org/docs/dev/recip… @TakesxiSximada #pymook

2015-08-27 20:44:34