1

次の例でbootstrap-selectを使用しようとしましたが、Flaskでは最大2つの値ではなく、1つの値しか得られませんか?

<form class="form-horizontal" action="{{url_for('compare')}}" method="get" role="form">
  <div class="input-group"> 
<span class="input-group-addon">Tests:</span>
  <select name='tests' class="selectpicker show-menu-arrow form-control" multiple data-max-options="2" data-live-search="true">
      <option value="Test1">Test1</option>
      <option value="Test2">Test2</option>
      <option value="Test3">Test3</option>
  </select>
  <span class="input-group-btn">
    <button class="btn btn-default" type="submit">Search!</button>
  </span>
</div>
</form>
<hr>

Flask のルートは次のように定義されます。

@app.route("/compare/", methods=["GET"])
@templated('compare.tmpl')
def compare():
   tests = request.args.get('tests')

Test1 と Test2 など、フラスコで最大 2 つの選択された値を取得するにはどうすればよいですか?

4

1 に答える 1

1

request.argsですMultiDictgetlist単一の値ではなく、指定されたキーのアイテムのリストを返すメソッドが呼び出されます。コードを次のように更新します。

tests = request.args.getlist('tests')

詳細については、werkzeugドキュメントを参照してください。

于 2014-09-29T01:46:33.590 に答える