0

クライアント側でオートコンプリートモデルフォームを作成しようとしています。オートコンプリート部分がダウンしています。フィールドに入力して、サーバーにシリアル化されたオブジェクトのリスト(主キーを含む)を返すようにできます。では、クライアント側のHTMLフォームにこれらのオブジェクトの1つを入力するにはどうすればよいですか?フォーム内のすべての既知のフィールド(およびオブジェクトの既知のメンバー)を反復処理して、それぞれを挿入できますが、確かに、よりクリーンな方法が必要です。

私がJQueryを使用する価値があるのは。

4

1 に答える 1

2

クライアント側では、Djangoフォームは単なる通常のhtmlフォームであり、Ajaxを使用しているため、これに対処するためのDjango固有の方法はないと思います。ただし、ループすることは悪い考えではないようです。ループ内のフォームフィールド要素名を何らかの方法でハードコーディングしていない限り。シリアル化されたオブジェクトとDjangoフォームのフォームフィールド名の間には一貫した関係があるはずです。これは、JQueryを使用してフォームをループし、シリアル化されたオブジェクトの1つで対応するフィールド値を自動的に見つけることができるはずであることを意味します。選択したフィールドは、もしあれば最大の課題かもしれません。また、シリアル化されたオブジェクトのフィールドを調べて、そのIDで対応するフォームフィールドを見つけ、JQueryでその値を設定することもできます。Djangoのフォーム要素ID '

于 2011-06-06T05:57:11.483 に答える