2011-06-29 3 views
3

コンテキスト外の値を格納するフォームを作成しようとしています。格納が完了し、うまくいきましたが、更新メソッドがレンダリングプロセスのフォームを埋めるようにしたいと思います。だから私はそのようにFormクラスのupdateメソッドをオーバーライドしています:ignoreContext = Trueで更新メソッドeのPloneオートフォームの値を設定するには

def update(self): 
    super(ConfigurationForm,self).update() 
    form = self.request.form 
    if not form: 
     #We are on a rendering process 
     provider = self.getProvider() 
     settings = provider.get() 
     #TODO: update widget values !? 

設定をキーはフィールドの名前をインターフェイスに等しいですdictのです。

だから私は、ウィジェットの値を更新するには、多くの方法試してみました:複雑なdataconverter(あまり使用

  • をして、これはself.request.formの辞書を更新
  • 唯一の方法であるかどうかを知りませんし、これを達成するための良い方法はありますか?とは何か更新フィールドで遊ん方法
  • オブジェクト

再び呼び出す(フィールドのすべての種類をサポートしている?)

答えて

4

ignoreContextを実行しないでください。代わりにdictを返すようにgetContent()をオーバーライドします。辞書は疑似コンテキストとして使用されます。

+0

あなたの答えは@optiludeありがとうございます。これを検索する際に間違ったキーワードが使用されました。 – toutpt

関連する問題