0

私は現在 TextField 入力である django フォームを持っています。これを ChoiceField に変換したいので、同様の回答を比較して同じものを参照しているかどうかを判断する必要がなくなります。ただし、可能な選択肢の数は法外です (数百)。私が本当に欲しいのは、ユーザーがカテゴリ、次にサブカテゴリなどを選択できる折りたたみ可能な ChoiceField です。これにより、各ステップで適切な数のオプションのみが表示されます (特に多くのユーザーがモバイル デバイスを使用しているため)。画面サイズに制限があります)。オプションは明確な分類に非常に適しているため、これは情報を表示するための良い方法のようです. ただし、フォームのあらゆる種類の他の種類の側面を折りたたむことに関する情報を見ていますが、これを行う方法を見たことがありません。私' これをうまく機能させるためにどのような方法を追求すればよいかさえわかりません。CSS または JavaScript は、ほとんどの人が折りたたみ可能なリストを作成する方法のようですが、これらのいずれかが django Select ウィジェットでうまく機能するかどうかはわかりません。この種のことを行うための最良の選択肢は何ですか?

私が認識しているオプションは次のとおりです。 1) ある種の新しいウィジェットを作成します。これは恐ろしいことのように思えますが (新しいウィジェットを作成した私の経験に基づくと)、それが最善の選択肢である場合は実行します。2) 通常の選択ウィジェットを使用し、javascript を使用してオプションを非表示にします。ただし、クリーンなグループでオプションを選択する方法が正確にはわかりません。3) CSS の折りたたみ可能なリストと非表示のフォーム フィールドを使用して、リストから値を取得し、非表示のフィールドに挿入します。4) 一連のビューを使用して、最小のカテゴリに移動します。これは簡単で、きれいできれいに思えますが (すべてのロジックが Python にあるため、私は快適だと感じています)、複数回のリロードが必要になるため、モバイル ユーザーにとっては問題になる可能性があります。

4

1 に答える 1

0

サブカテゴリの数が無限にある場合、おそらくこれが唯一の解決策です。無限でない場合は、ページ上のすべての選択肢を親カテゴリとともにすぐにロードして、javascript を介して表示する選択肢を決定できるようにすることができます。

于 2013-08-13T02:24:46.497 に答える