SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
FormAlchemy
FormAlchemy
SQLAlchemyを使うときに、フォームライブラリはどう
しよう?

FormAlchemy
SQLAlchemyのモデルからフォームを生成できる。
インストール

pip install formalchemy

(・∀・) It's so easy!
使い方

Personというマッピング済のクラス

fs = fa.FieldSet(Person, DBSession)

fs.render()
グリッドも使える

grid = fa.Grid(Person.query.all(), DBSession)

grid.render()
モデル同期(新規)

fs = fa.FieldSet(Person, DBSession,
                  data=request.POST)
if fs.validate():
    fs.sync()
    DBSession.add(fs.model)

fs.modelに同期されたインスタンス
モデル同期(更新)

person = Person.query.filter_by(id=id).one()
fs = fa.FieldSet(person, data=request.POST)
if fs.validate():
    fs.sync()

personはDBSessionに紐づいてるので、FieldSetに
渡す必要なし。
カスタマイズ

パスワードフィールドにしたり、ラジオボタンに変更
するなど
fs.configure(
   options=[fs["password"].password()])

fs.configure(
   options=[fs["gender"].radio(
     [('male', MALE),
      ('female', FEMALE)])])
見た目を変える

fa.jquery
fa.bootstrap
など

名前に反して Pyramid 専用
デモ
● https://bitbucket.org/aodag/addressbook
● http://docs.formalchemy.org/
● http://docs.formalchemy.
  org/pyramid_formalchemy/
● http://docs.formalchemy.org/fa.jquery/

Más contenido relacionado

Más de Atsushi Odagiri

パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02Atsushi Odagiri
 
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolseggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolsAtsushi Odagiri
 
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolspyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolsAtsushi Odagiri
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Atsushi Odagiri
 
Pythonとパッケージングと私
Pythonとパッケージングと私Pythonとパッケージングと私
Pythonとパッケージングと私Atsushi Odagiri
 
Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡Atsushi Odagiri
 
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonPyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonAtsushi Odagiri
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid uniqueAtsushi Odagiri
 
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介Atsushi Odagiri
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3Atsushi Odagiri
 
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングフレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングAtsushi Odagiri
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよAtsushi Odagiri
 

Más de Atsushi Odagiri (20)

パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
 
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptoolseggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
 
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptoolspyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
 
Pythonとパッケージングと私
Pythonとパッケージングと私Pythonとパッケージングと私
Pythonとパッケージングと私
 
Python3 移行への軌跡
Python3 移行への軌跡Python3 移行への軌跡
Python3 移行への軌跡
 
Clack meetup #1 lt
Clack meetup #1 ltClack meetup #1 lt
Clack meetup #1 lt
 
Python3でwebアプリ
Python3でwebアプリPython3でwebアプリ
Python3でwebアプリ
 
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europythonPyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
 
What makes pyramid unique
What makes pyramid uniqueWhat makes pyramid unique
What makes pyramid unique
 
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
 
World plonedaylt
World plonedayltWorld plonedaylt
World plonedaylt
 
Setup.pysetup.cfg
Setup.pysetup.cfgSetup.pysetup.cfg
Setup.pysetup.cfg
 
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
 
Form libraries
Form librariesForm libraries
Form libraries
 
フレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミングフレームワークなしでWSGIプログラミング
フレームワークなしでWSGIプログラミング
 
Form libraries
Form librariesForm libraries
Form libraries
 
Aodag scaffold
Aodag scaffoldAodag scaffold
Aodag scaffold
 
Nose 鼻をきかせてテストせよ
Nose  鼻をきかせてテストせよNose  鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
 
Json rpc 2_0
Json rpc 2_0Json rpc 2_0
Json rpc 2_0
 

Bplt11 form alchemy