前提・実現したいこと
Python+Flaskでwebアプリを作成しています。jqueryのプラグインを使って、フォームに入力されたテキストをvalueに持つ新たなoptionが生成されるようにしています。送信ボタンを押すとPOSTメソッドを使ってrequest.form.getlist()でselectタグ中のすべてのoptionのvalueを取得するようにしたいです。
発生している問題・エラーメッセージ
HTMLのselectでname="tags"としてもrequest.form.getlist('tags')が一つの値しか返しません。複数の値を入力すると空のリストを返します。
該当のソースコード
HTML
1<form class="form-inline" action="{{ url_for('edit', pk=images.id) }}" method="post"> 2 <div class="form-group"> 3 <select multiple data-role="tagsinput" name="tags"> 4 {% for tag in tags %} 5 <option value="{{tag}}">{{tag}}</option> 6 {% endfor %} 7 </select> 8 </div> 9 <button class="btn btn-primary" type="submit">保存</button> 10</form>
Python
1@app.route('/edit/<pk>', methods=['GET', 'POST']) 2def edit(pk): 3 con = get_db() 4 if request.method == 'POST': 5 tags = request.form.getlist('tags') 6 models.insert_tags(con, tags) 7 models.insert_tag_map(con, int(pk), tags) 8 list_of_year = models.get_existing_year(con) 9 existing_month_number = {} 10 for year in list_of_year: 11 existing_month_number[year] = models.get_existing_month_number(con, year) 12 images = models.select(con, 'images', int(pk)) 13 tags = models.get_tags(con, int(pk)) 14 return render_template('edit.html', list_of_year=list_of_year, existing_month_number=existing_month_number, 15 images=images, tags=tags)
補足情報(FW/ツールのバージョンなど)
Python 3.7.0
Flask 1.0.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。