1

私が作成しようとしているのは、リソースのサイトです。基本的に、リンクを介して書籍やビデオなどのリソースを追加します。現在、さまざまなリソースに対応するリソース サイトでは、使用しているリソースの種類を理解するためにタグを付ける必要があります。

たとえば、化学のようなものについてメモを作成したり、"Django" などの講演のキー ポイントを作成したりする場合、これらはテキスト ドキュメントです。したがって、それらをTEXTTAG 内に配置する必要があります。

では、この種のフォームを作成する場合、どのフォーム フィールドを使用しますか? たとえば、ひざまずくアプローチでは、単純にテキスト領域フィールドを作成してから、さまざまなタグをコンマで区切ります。さて、これは多くの問題を引き起こしやすい可能性があります。この問題を解決するための最善の方法を知りたいのですが? 基本的に、データ入力を検証する簡単な方法は? 問題への最善のアプローチでしょうかforms.ChoiceField、それとも他に優れたものがありますか?

4

1 に答える 1

3

https://www.djangopackages.com/grids/g/tagging/が最善の策です。具体的にはhttps://github.com/alex/django-taggitです。独自のタグ付けシステムを実行したい場合は、ソース コードを見てアイデアを見つけてください。

編集:これをフォームに表示する最も簡単な方法は、ModelMultipleChoiceField. これにより、単一のリソースに対して複数のタグを選択でき、サーバー側の検証と実際のTagインスタンスへの変換を処理できます。ただし、ほとんどの人は、このオプションが見苦しいことに同意すると思います。また、可能なタグが大量にある場合、ユーザーフレンドリーではないことは確かです.

jQuery を使用している場合、別のオプションはDjango_select2を使用することです。これは私が同様の状況で個人的に使用したもので、大量の可能性のあるタグを非常にうまく処理します。Django_select2 は、jQuery の Select2 プラグインのシン ラッパーであり、少し機能が追加されています (特にAutoViewAutoModelSelect2Field)。これにより、テキスト フィールドと選択リストのハイブリッドが提供され、すべてのタグを検索して複数のタグを簡単に選択できるようになります。達成できることの例については、http://ivaynberg.github.io/select2/を参照してください。

于 2013-08-09T13:33:00.993 に答える