私は、django、フラスコ、ピラミッド フレームワークを使用して FormAlchemy を試していました。SQLAlchemy==0.7 と FormAlchemy==1.4.2 を使用しました。オンラインで入手可能なドキュメントに従いました。しかし、いくつかの奇妙な問題に直面しました。回避策を得ることができましたが、レンダリングの問題が発生した理由がわかりません。
form = FieldSet(User).render()
jinja2またはmakoレンダラーに渡した後、タグを除いて、自動生成されたhtmlフォーム全体をページにレンダリングする必要があります。ただし、テンプレート変数、${form}
または{{ form }}
フォームとしてレンダリングされません。代わりに、それらはプレーンテキストです!!
ビューは次のとおりです。
def index():
import formalchemy
from models import User
fs = formalchemy.FieldSet(User)
#fs.rebind(with_prefix=True)
opts=[('Google','1'),('Yahoo','2'),('MSN','3')]
fs.configure(options=[
fs.name.label('Full Name'),
fs.email.dropdown(opts)
])
form = fs
return render_template('form.html', form=form)
テンプレートは次のとおりです。
{{ form.render() }}
出力は次のとおりです..!!:
フォームじゃないのか!?...
この問題は FormAlchemy==1.5.5 の最新バージョンでは表示されませんが、別の問題があります。私が使用した電子メール フィールド オプションはテストでした。FormAlchemy==1.5.5 は、オプション選択フィールドを適切にサポートまたはレンダリングしません....それが、バージョン 1.4.2 を選択した理由です。
誰にも何か提案がありますか?