Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bplt11 form alchemy

10,497 views

Published on

  • Be the first to comment

  • Be the first to like this

Bplt11 form alchemy

  1. 1. FormAlchemy
  2. 2. FormAlchemySQLAlchemyを使うときに、フォームライブラリはどうしよう?FormAlchemySQLAlchemyのモデルからフォームを生成できる。
  3. 3. インストールpip install formalchemy(・∀・) Its so easy!
  4. 4. 使い方Personというマッピング済のクラスfs = fa.FieldSet(Person, DBSession)fs.render()
  5. 5. グリッドも使えるgrid = fa.Grid(Person.query.all(), DBSession)grid.render()
  6. 6. モデル同期(新規)fs = fa.FieldSet(Person, DBSession, data=request.POST)if fs.validate(): fs.sync() DBSession.add(fs.model)fs.modelに同期されたインスタンス
  7. 7. モデル同期(更新)person = Person.query.filter_by(id=id).one()fs = fa.FieldSet(person, data=request.POST)if fs.validate(): fs.sync()personはDBSessionに紐づいてるので、FieldSetに渡す必要なし。
  8. 8. カスタマイズパスワードフィールドにしたり、ラジオボタンに変更するなどfs.configure( options=[fs["password"].password()])fs.configure( options=[fs["gender"].radio( [(male, MALE), (female, FEMALE)])])
  9. 9. 見た目を変えるfa.jqueryfa.bootstrapなど名前に反して Pyramid 専用
  10. 10. デモ
  11. 11. ● https://bitbucket.org/aodag/addressbook● http://docs.formalchemy.org/● http://docs.formalchemy. org/pyramid_formalchemy/● http://docs.formalchemy.org/fa.jquery/

×