2016-06-28 1 views
0

ボタンの中にチェックボックスを押したかどうかによってタイトル属性が変わるボタンがHTMLにあります。タイトルは、チェックされたボタン内のすべての要素のリストです。ボタンのタイトルをdjango feildに保存する

(チェックされている項目に関連するBUTTONタグのtitle属性に注目してください)

そのダイナミックなタイトルをつかむと、ListFieldをのようなDjangoのモデルフィールドでそれを格納するための方法がある場合、私は思っていましたリストを受け入れる何か?

enter image description here

enter image description here

私はそれは私のこれまでのところではなく、入力

より方法(/オプションを選択します)フォームを使用することです。ブートストラップ複数選択(http://davidstutz.github.io/bootstrap-multiselect/#getting-started)と呼ばれるソフトウェアを使用していますHTMLコードは次のとおりです。

<select id="CMBootstrapMulti" multiple="multiple"> 
{%for obj in objects %} 
    {% for element in obj.display_application %} 
     <option value="{{forloop.counter}}">{{element}}</option> 
    {% endfor %} 
{%endfor %} 
</select> 

このソフトウェアのドキュメントでは、サーバー側の処理を行うためにselectタグに名前を渡すことについて言及しています。この名前の属性はどんな形でも役立ちますか?

答えて

1

buttontitle attrの代わりにtype=hiddenという形式のinputという要素を使用します。理由は、そのURLに対応するサーバー機能にそのデータをポストするということです。選択したフィールドにそのデータを保存することができます。

list of stringsmodel fieldに保存する限り、max_lengthの長さのcharfieldを使用する可能性が最も高いです。その後、選択した区切り文字で分割するメソッドをそのモデル上に作成します。あなたの場合、デリミタとしてコンマが既にあるので、あなたのモデルは次のようになります。

class MyModel(models.Model): 

    my_list_of_stuff = models.CharField(max_length=9999) 

    def my_list_of_stuff_split(self): 
     # this will return a list eg. `["foo, "bar", "pop" ...]` 
     return self.my_list_of_stuff.split(",") 
+0

私は質問を更新しました。あなたはこの状況についてもう理解していますか? –

関連する問題