0

私はジャンゴの初心者です。私は Django フォームを使用して HTML フォームをレンダリングします。

デフォルトの ChoiceField を人気のある JS フレームワーク「Select2」 http://ivaynberg.github.io/select2/に置き換えたいと思います。

HTMLページで直接行うのは簡単ですが、djangoフォームの設計に統合するのは難しいと思います. サードパーティの django プラグインがhttps://github.com/applegrew/django-select2として機能する可能性がありますが、もう 1 つ JS フレームワークを追加すると、サードパーティの django プラグインがますます必要になる場合があります。

では、djangoフォームを使用する正しい方法は何ですか? そして、なぜ django は HTML ページの外で HTML フォームを取るのでしょうか? Java と同様に、すべての HTML 要素が JSP ページに入ります。

4

2 に答える 2

0

カスタム ウィジェットを作成して ChoiceField にアタッチできます。それはワンライナーではありませんが、誰かがあなたのためにそれを簡単にしたようです. これを見てください:

ジャンゴチョイスフィールドでselect2

于 2013-06-07T05:54:38.580 に答える
0

これは、フォームがレンダリングされるテンプレート内にselect2に必要な タグ<script>とタグを追加するだけで簡単に実行できます。これらのスクリプト タグは、select2ライブラリをロードし、クライアント側で選択ボックスに対して直接実行する必要があります (サーバー側の変更は必要ありません)。必要になる可能性のある DOM の変更も、これらのスクリプトで行う必要があります (これにより、新しい機能がカプセル化され、分離された状態になります)。<style>{% block extra_header %}

は、メイン テンプレート{% block extra_header %}のセクションに直接ロードする必要があります。<header>

于 2013-06-07T04:04:39.457 に答える